jQuery wrap和wrapAll之间的区别

时间:2012-08-14 05:45:09

标签: jquery

jQuery .wrap和.wrapAll有什么区别?他们几乎做同样的事情,但可能有什么不同?

3 个答案:

答案 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