<ul id="list"> <li>001<a href="">删除</a></li> <li>002<a href="">删除</a></li> <li>003<a href="">删除</a></li></ul>//如上,点击删除删除对应的li,document.getElementById("list").addEventListener("click",function(e){ //就在这里卡住了,不知道怎么获取到对应li;},false);
1 回答
小唯快跑啊
TA贡献1863条经验 获得超2个赞
通过事件委托,e.target获取真正触发事件的元素,而e.currentTarget是定义事件监听的元素,也就是ul
e.target获取的是 <a>,判断是否是<a>,如果是<a>,移除<a>的 parentNode(li)即可。
因为你是用的<a> 触发点击,所以需要使用e.preventDefault() 阻止默认事件,否则会跳转
var list = document.getElementById("list");
list.addEventListener("click",function(e){
//就在这里卡住了,不知道怎么获取到对应li;
e.preventDefault();
var target = e.target||e.srcElement;
target.nodeName.toLowerCase() === 'a' ? list.removeChild(target.parentNode) : false;
},false);
添加回答
举报
0/150
提交
取消