0

如何使用 jquery 或 javascript 将 div 的一半与另一个 div 包装起来

我有这个

<div class="post">1</div>
<div class="post">2</div>
<div class="post">3</div>
<div class="post">4</div>
<div class="post">5</div>
<div class="post">6</div>

我要这个

<div class="wrap">
  <div class="post">1</div>
  <div class="post">2</div>
  <div class="post">3</div>
</div>    
<div class="wrap">
  <div class="post">4</div>
  <div class="post">5</div>
  <div class="post">6</div>
</div>
4

1 回答 1

2

尝试使用这个:

var posts = $('.post'),
    postCount = posts.length,
    postHalf = Math.round(postCount/2),
    wrapHTML = '<div class="wrap"></div>';

posts.slice(0, postHalf).wrapAll(wrapHTML); // .slice(0, 3)
posts.slice(postHalf, postCount).wrapAll(wrapHTML); // .slice(3, 6) 

这会选择 all .post,获取找到的元素数量,然后将该值减半以获得分裂点。然后它.slice()用于选择特定范围的元素并将.wrapAll()每个选择包装在<div class="wrap"></div>.

它在这里工作:http: //jsfiddle.net/ekzrb/

于 2013-10-05T23:43:13.877 回答