jQuery .wrap和.wrapAll有什么区别?他们几乎做同样的事情,但可能有什么不同?
答案 0 :(得分:31)
请注意说明中的不同之处:
.wrap()
:围绕匹配元素集中的每个元素包装HTML结构。.wrapAll()
:围绕匹配元素集中的所有元素包装HTML结构。
.wrap()
单独包装每个元素,但.wrapAll()
将所有元素作为一个整体包装。
例如:
<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
使用$('.foo').wrap('<div class="bar" />');
,会发生这种情况:
<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
但是对于$('.foo').wrapAll('<div class="bar" />');
,会发生这种情况:
<div class="bar">
<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
</div>
答案 1 :(得分:2)
WrapAll包装所有元素,Wrap包装EACH元素。
$('.inner').wrapAll('<div class="new" />');
将所有内部div包装在一个新div
中的结果<div class="container">
<div class="new">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
</div>
包裹结果... 每个元素
<div class="container">
<div class="new">
<div class="inner">Hello</div>
</div>
<div class="new">
<div class="inner">Goodbye</div>
</div>
</div>
答案 2 :(得分:0)
fastlane