<body>
<h3>给页面2个p元素节点绑定点击事件,点击后弹出自己本身的节点内容</h3>
<p>元素p1,同时绑定点击事件</p>
<p>元素p2,同时绑定点击事件</p>
<h3>通过点击2个按钮后观察方法处理的区别</h3>
<button>点击通过remove处理元素p1</button>
<button>点击通过detach处理元素p2</button>
</body>
<script type="text/javascript">
//给页面上2个p元素都绑定时间
$('p').click(function(e) {
alert(e.target.innerHTML)
})
$("button:first").click(function() {
var p = $("p:first").remove();
p.css('color','red').text('p1通过remove处理后,点击该元素,事件丢失')
$("body").append(p);
});
remove处理后的p1不是移除了吗,怎么还能通过append()显示
在执行完remove()操作之后还会返回$('p:first)为删除之前的引用,被p保存了。每次执行完jQuery的操作之后都会返回一个jQuery对象,这是链式操作的基础,你可以理解为这里p先存了,然后才删除的,所以可以append。
数据没有删除啊 。。数据不是也被复原了吗
变量p保存了被删除的p1; p1被删除,html文档中没有p1了.