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

关于jQuery动态创建的元素,需要删除

关于jQuery动态创建的元素,需要删除

收到一只叮咚 2019-01-30 18:19:14
其中<script>    $("div").on("click","p",function(){        alert($(this).html());    })</script><script>    $("p").on("click",function(){        alert($(this).html());    })</script>一,请问这两种方法有什么区别?二,第一种方法那样写的好处是什么三,在网上查了一下,如果是动态创建的元素,比如上面的p,动态创建的。需要用第一种方式来绑定删除。 而且是需要绑定在父元素div上来写删除的语句。不太懂为何要绑定在div上进行删除,为啥不能直接绑定在this点击的元素上删除。虽然我测试那样确实没用,但是不知道其中的道理。<script>    $("div").on("click","p",function(){        alert($(this).parent().remove());    })</script>麻烦大神们帮忙答疑解惑。感谢啦。
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

1、JS 没法给动态生成的元素绑定事件,因为总要先有元素再绑定
2、JS 事件是冒泡机制,简单来说就是事件会响应在本元素节点和所有的父元素节点

所以第一种用法就是这个原理,动态生成的 p 元素没法绑定事件,但是如果你点击触发了 click 事件,那么会冒泡到 父元素 div,在这个节点处理

你可以搜索一下
1、JS 事件冒泡
2、JS 事件委托


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

添加回答

举报

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