4

基本的に、サブULを含む各リスト項目の合計リスト項目を表示したい、私のコードを参照してください: http://jsfiddle.net/NykJe/

<ul>
    <li>linkA</li>
    <li>linkB<span class="total"></span>
        <ul>
            <li>link2</li>
            <li>link2</li>
            <li>link2</li>
        </ul>
    </li>
    <li>linkC</li>
    <li>linkD<span class="total"></span>
        <ul>
            <li>link2</li>
            <li>link2</li>
            <li>link2</li>
            <li>link2</li>
            <li>link2</li>
        </ul>
    </li>
</ul>

var total = $('ul li ul li').size();
$('.total').append('<div>'+ total +'</div>');

特定のサブulliアイテム数をカウントするループを使用したいのですが、結果はLinkB 3とLinkD 5になります。現在、LinkB 8、LinkD 8が表示されています

4

2 に答える 2

6
$('ul li ul').each(function(){
  $(this).prev('.total').append('<div>'+ $(this).find('li').length +'</div>');
});

JSFiddle

于 2012-06-20T16:39:30.133 に答える
1

このようなことを試してください。span新しい要素を追加するのではなく、タグにカウントを直接書き込むだけです(数値を挿入するだけであれば、追加のタグは必要ありません)。

$('.total').each(function()
{
    $(this).html($(this).parent().find('li').length);                    
});

実施例

于 2012-06-20T16:41:46.337 に答える