0

私は次のhtmlを持っています。close divuldiv

Ul動的に追加されるため、ますます多くなります。

<div class="span9 well viewDetailDiv">
    <ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
    <ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
    <ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
    </ul><ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
</div>

以下のように出力したい。

<div class="span9 well viewDetailDiv">
    <ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
    <ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
</div>
<div class="span9 well viewDetailDiv">
    <ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
    </ul><ul class="span6 pull-left">
        <li></li>
        <li></li>
    </ul>
</div>

私が試してみました

$('.viewDetailDiv ul:even').not(':first').css('margin-left','0').wrapAll('<div class="span9 well viewDetailDiv">');
$('.viewDetailDiv ul:nth-of-type(2)').nextUntil('ul').andSelf().wrapAll('<div class="span9 well viewDetailDiv">');

$('.viewDetailDiv ul').each(function()
{
    $(this).nextUntil('ul:even').andSelf().wrapAll('<div class="span9 well viewDetailDiv" />');
});

$('.viewDetailDiv ul').each(function()
{
    $(this).nextUntil('ul:even').prev().wrapAll('<div class="span9 well viewDetailDiv" />');
    console.log($(this).nextUntil('ul:even'));
});

上記のコードはどれも私の問題を解決しません。

エラーが表示された場合は、私に知らせてください。自分で修正できます。

4

1 に答える 1

1

これを試して、

$(document).ready(function(){               
     var uls = $("ul");
     for(var i = 0; i < uls.length; i+=2) {
          uls.slice(i, i+2).wrapAll("<div class='span9 well viewDetailDiv'></div>");
     }
});

働くフィドル

JS を使用して <li> のペアを div でラップするロジック

于 2013-06-24T12:08:27.230 に答える