jQuery使用每个与insertBefore

时间:2014-04-30 22:31:22

标签: jquery

老实说,我不知道如何解释这一点,但如果你看到代码和结果,你就会知道我在做什么。尝试从每个spans div中分隔'divide'

HTML:

<div class="wrapper">
    <div>text1<span>subtxt1</span></div>
    <div>text2<span>subtxt2</span></div>
    <div>text3<span>subtxt3</span></div>
    <div>text4<span>subtxt4</span></div>
    <div>text5<span>subtxt5</span></div>
    <div>text6<span>subtxt6</span></div>
</div>

JS:

var divs = $(".wrapper div");
for(var i = 0; i < divs.length; i+=3) {
  divs.slice(i, i+3).wrapAll("<div class='divide'></div>");
}

$('.divide').each(function(){
  $(this).find('span').insertBefore($(this).next());
});

这里是jsfiddle:http://jsfiddle.net/VB6fj/

基本上最后三个​​跨度没有动。我希望它像前三个span一样分开 THX

1 个答案:

答案 0 :(得分:0)

$(this).next()对于最后一个.divide为空,因为不再有兄弟姐妹。您可以用以下内容替换该行:

$(this).find('span').insertAfter(this)

请参阅http://jsfiddle.net/VB6fj/2/