detach是剪切的话,clone就是复制了
clone(ture)传递一个布尔值ture用来指定,这样不仅仅只是克隆单纯的节点结构,还要把附带的事件与数据给一并克隆了。
JavaScript部分
$("div").on(‘click‘, function() {//执行操作})
//clone处理一
$("div").clone() //只克隆了结构,事件丢失
//clone处理二
$("div").clone(true) //结构、事件与数据都克隆
元素数据(data)内对象和数组不会被复制,将继续被克隆元素和原始元素共享。意思是不会copy元素数据和数组(主要是内存上),所有copy的元素都共享一个,如果改变其中一个的,就等于改变了所有的。
$("p:eq(1)").replaceWith(‘<a style="color:red">替换第二段的内容</a>‘)
$(‘<a style="color:red">替换第二段的内容</a>‘).replaceAll(‘p:eq(1)‘)
将元素用其他元素包裹起来,也就是给它增加一个父元素。
$(‘p‘).wrap(‘<div></div>‘)
//等同于
$(‘p‘).wrap(function() {
return ‘<div></div>‘;
})
得到:
<div>
<p>p元素</p>
</div>
将匹配元素集合的父级元素删除,保留自身(和兄弟元素,如果存在)在原来的位置。例如:
<div>
<p>p元素</p>
</div>
删除这段代码中的div,一般常规的方法会直接通过remove或者empty方法,但是如果要保留内部元素p,使用:
$(‘p‘).unwarp()
找到p元素,然后调用unwarp方法,这样只会删除父辈div元素了。
wrap是针对单个dom元素处理,如果要将集合中的元素用其他元素包裹起来,也就是给他们增加一个父元素
<p>p元素</p>
<p>p元素</p>
$(‘p‘).wrapAll(‘<div></div>‘)
得到:
<div>
<p>p元素</p>
<p>p元素</p>
</div>
如果是用$(‘p‘).wrap(‘
‘)<div>
<p>p元素</p>
</div>
<div>
<p>p元素</p>
</div>
给集合中匹配的元素的内部,增加包裹的HTML结构.
<div>p元素</div>
<div>p元素</div>
$(‘div‘).wrapInner(‘<p></p>‘)
得到:
<div>
<p>p元素</p>
</div>
<div>
<p>p元素</p>
</div>
原文:https://www.cnblogs.com/zhaozihan/p/7295310.html