2013-10-05 62 views
0

多个节点如何可以使用jQuery或JavaScript包装用DIV

包裹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> 

回答

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) 

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

这是工作:http://jsfiddle.net/ekzrb/

+0

感谢@Joe它的工作.. :-) – Robert

+0

@Ram - 高兴它解决您的问题:) – Joe