jQuery 元素移除empty() remove()与detach()的区别?
@1.empty() 删除匹配元素集合中所有的后代字节点元素;
<p>hello<span>world</span></p>
$("p").empty(); <p></p>
@2.remove([expr]) 接收参数表示删除指定的元素
$("p").remove() 删除所有段落
$("p").remove(".hel") 删除带有.hel类名的段落
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除
@3.detach([expre]) 从DOM中删除所有匹配的元素
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
<body>
<div id="google">Google</div>
<div id="apple">Apple</div>
</body>
<script type="text/javascript">
$(function () {
$("#apple").hover(function () {
$(this).text("Google+");
});
apple = $("#apple").remove(); <!-- //使用 remove() hover()事件也会被删除 -->
/*apple = $("#apple").detach();*/<!-- //使用detach() hover()事件会保存下来 -->
$("body").append(apple);
});
</script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。