为了账号安全,请及时绑定邮箱和手机立即绑定

移除dom节点

移除dom节点

青春有我 2018-12-21 19:18:30
<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);  


查看完整回答
反对 回复 2019-01-26
  • 1 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信