jquerywrap和wrapAll之间的区别

jquerywrap和wrapAll之间的区别,jquery,Jquery,jQuery.wrap和.wrapAll之间有什么区别?它们做的事情基本相同,但有什么区别呢?注意描述中的区别: :围绕匹配元素集中的每个元素包装一个HTML结构。 :围绕匹配元素集中的所有元素包装HTML结构 .wrap()单独包装每个元素,但.wrapAll()将所有元素包装为一个组 例如: <div class="foo"></div> <div class="foo"></div> <div class="foo"></d

jQuery.wrap和.wrapAll之间有什么区别?它们做的事情基本相同,但有什么区别呢?

注意描述中的区别:

:围绕匹配元素集中的每个元素包装一个HTML结构。 :围绕匹配元素集中的所有元素包装HTML结构

.wrap()
单独包装每个元素,但
.wrapAll()
将所有元素包装为一个组

例如:

<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>

使用
$('.foo').wrap(''),发生这种情况:

<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar">
  <div class="foo"></div>
  <div class="foo"></div>
  <div class="foo"></div>
</div>

但是使用
$('.foo').wrapAll(''),发生这种情况:

<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar">
  <div class="foo"></div>
  <div class="foo"></div>
  <div class="foo"></div>
</div>

WrapAll包装所有元素,包装每个元素

$('.inner').wrapAll('<div class="new" />');
$('.inner').wrapAll('');
结果将所有内部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>

你好
再见
添加jquery以执行换行:
$('p').wrap('');
将导致:
这是一段

这是一段

这是一段

将.wrap替换为.wrapAll。 $('p').wrapAll(''); 将导致: 这是一段

这是一段

这是一段

现在试试看,拉平纳。 $('p').wrapInner(''); 将导致: 这是一段

这是一段

这是一段


如果你足够聪明会写,那么你可能足够聪明会读。给你:只是更热切