jq中detach()和remove()的区别

detach()用于从文档中移除匹配元素

和remove()方法的区别,detach函数不会移除与元素关联绑定的附加数据(data()函数)和事件处理器等

另外,detach()会移除文档中匹配的元素,但是不会讲匹配元素从jq对象中移除

var $n6 = $("#n6");
// 移除n6元素
$n6.detach( );

var $p = $("p");
// 移除带有类名"mark"的p元素
var $detachedP = $p.detach( ".mark" ); // $detachedP === $p


// 将移除了的n6追加到body元素内的起始位置
// 虽然在前面n6已经从文档中被移除
// 但不会将其从jQuery对象中移除,因此我们还可以使用该jQuery对象,将n6再次放入文档中
$n6.prependTo( "body" );

上述代码执行后的完整html代码如下(格式未作任何调整):

<span id="n6">[span#n6]<span id="n7">[span#n7]</span></span>


<p id="n5">
    段落内容
        
</p>

猜你喜欢

转载自blog.csdn.net/weixin_38098192/article/details/80731812