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>

时间: 2024-10-08 16:03:43

jQuery 元素移除empty() remove()与detach()的区别?的相关文章

[ jquery 文档处理 empty() remove([expr]) detach([expr]) ] 此方法用于把所有匹配的元素移除

此方法用于把所有匹配的元素移除: remove([expr]) 概述 从DOM中删除所有匹配的元素 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除 empty() 概述 删除匹配的元素集合中所有的子节点 detach([expr]) 概述 从DOM中删除所有匹配的元素. 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.与remove()不同的是

探索jquery方法中empty,remove与detach的区别

最近一直疑惑此三种方法的具体区别在于何处,随即想弄明白其具体的区别,看了一些说明,也依照官方文档,终于把这三个方法弄明白了,果然功夫不负有心人,继续努力. 上正文,先简单介绍下这三种方法 .empty()  描述: 从DOM中移除集合中匹配元素的所有子节点. 这个方法不接受任何参数. 这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本.因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点.请看下面的HTML: <div class="container">

转载JQuery 中empty, remove 和 detach的区别

转载 http://www.cnblogs.com/lisongy/p/4109420.html .empty()  描述: 从DOM中移除集合中匹配元素的所有子节点. 这个方法不接受任何参数. 这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本.因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点.请看下面的HTML: <div class="container"> <div class="hello">Hello<

jquery 中remove()与detach()的区别

remove()与detach()方法都是从dom中删除所有的元素 两者的共同之处在于都不会把匹配的元素从jQuery对象中删除. 不同之处在于用remove()删除的元素,除了元素被保留,其他的在这个元素上的绑定事件等都会被移除,但是detach()方法不会移除这个元素上的方法或者是附加数据. 简单举例: html: <body><p>区别</p></body> js: p元素的绑定事件 $("p").click(function(){

jQuery中删除节点方法remove()、detach()、empty()分析

jQuery中提供了三种删除节点的方法:remove().detach().empty(),本文详细分析这三种方法. 最容易区分的是empty(),该方法严格上属于“清空节点”,即删除其子节点,自身并不会删除.举个栗子: 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>remove和detach对

jQuery的remove和detach的区别

1.remove([expr]) 概述:从DOM中删除所有匹配的元素. 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除. 2.detach([expr]) 概述:从DOM中删除所有匹配的元素. 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.与remove()不同的是,所有绑定的事件.附加的数据等都会保留. 实例: <div id="go

jQuery中的remove()、detach()和empty()的区别

jQuery提供三种删除节点的方法. 1. remove()方法 从DOM中删除所有匹配的元素,传入的参数用于根据jQuery表达式来筛选元素. 返回值是一个指向已被删除的节点的引用. 意思就是说,删除后还可以继续使用: var $li = $("ul li :eq(1)").remove(); $li.appendTo("ul"); 可以使用appendTo()方法,省略remove(); $("ul li:eq(1)").appendTo(&

Jquery empty() remove() detach() 方法的区别

方法简介: empty() This method removes not only child (and other descendant) elements, but also any text within the set of matched elements. This is because, according to the DOM specification, any string of text within an element is considered a child no

jQuery源码之 empty与html(&#39;&#39;)的区别

empty: function() { var elem, i = 0; for ( ; (elem = this[i]) != null; i++ ) { // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { //循环清除Data数据 jQuery.cleanData( getAll( elem, false ) ); } // 移除child while ( elem.firstChild