删除节点的方法,分别是remove(),detach(),empty()方法
remove()方法用于从DOM中删除所有匹配元素,
remove方法删除某个节点之后,该节点所包含的所有后代节点将>同时被删除。
remove()方法的返回值是一个指向已被删除的节点的引用。以>后也可以继续使用这些元素。
例如
var $p_2 = $(“div p:eq(1)”).remove();//获取第2个节点后,将他从页面中删除
( " d i v " ) . a p p e n d ( ("div").append( ("div").append(p_2);//把删除的节点重新添加到div中
<div>
<p title="明日科技">明日科技</p>
<p title="明日图书">明日图书</p>
</div>
<script>
$(document).ready(function(){
$("div p").remove("p[title!=明日科技]");
//删除<p>元素中属性不等于"明日科技"的元素
}) ;
</script>
由上下可以看出,使用detach()方法删除元素之后再执行重新追加此元素之前绑定的事件还在,而如果是remove()方法删除元素再重新追加元素之前,绑定的事件将失效。
empty(方法不是删除元素节点,而是将节点清空,该方法可以清空元素中所有的后代节点,具体代码如下
$(“div p:eq(1)”).detach();//获取第二个p元素后,清空该元素中的内容
<div>
<p title="明日科技">明日科技</p>
<p title="明日图书">明日图书</p>
</div>
<script>
var $p_2=$("div p:eq(1)").detach();
$(document).ready(function(){
$("div p").remove("p[title!=明日科技]");
//删除<p>元素中属性不等于"明日科技"的元素
$p_2.appendTo("div");
$("div p:eq(1)").empty();
}) ;