
get_tag这个函数被绑定在body的onclick事件上,然后接受了一个event参数;
然后event对象有个target属性,是可以直接获取鼠标点击的对象.
我们log看看
恩,可以的.和预先的思路一致.得到了想要的结果.
2, 得到对象.可是要怎么删除呢?
var del_tag = function(){var tag=null;return {get:function(e){tag = e;},del:function(){$(tag).remove();}}}由于删除按钮和我们鼠标所点击的对象并没有什么联系.所以我们得写个闭包,声明一个tag去保存我们所点击的对象.var del_tag = function(){var tag=null;return {get:function(e){tag = e;},del:function(){$(tag).remove();}}}var dt = del_tag();//把del_tag赋值给dtfunction get_tag(e){var ele = e.target;//调用dt.get() 参数就是get_tag函数event参数的值的targetdt.get($(ele));}$("#del").click(function(){//这里,由于创建了闭包.我们上次点击的对象被保存了起来.//所以这里可以直接调用dt.del() 删除对象dt.del();})4.看看效果

var del_tag = function(){var tag=null;return {get:function(e){tag = e;},del:function(){$(tag).remove();}}}var dt = del_tag();//把del_tag赋值给dtfunction get_tag(e){var ele = e.target;$(ele).css("border","1px solid red")var tagname = ele.tagName;//定义一个tag数组. 用来存储我们想删除的对象var tagarr = ["SPAN","H1","H2","H3","H4","H5","H6","P"];//判断如果我们点击的对象 是不是我们数组里所声明的,可以删除的.if(tagarr.indexOf(tagname) > -1){//调用dt.get() 参数就是get_tag函数event参数的值的targetdt.get($(ele));}}$("#del").click(function(){//这里,由于创建了闭包.我们上次点击的对象被保存了起来.//所以这里可以直接调用dt.del() 删除对象dt.del();})看看效果: