1

アプリのディレクトリを作成しています。各アプリには、ユーザーが開くまで非表示になっている独自のコメントがあります。各アプリに現在含まれているコメントの数を表示したいのですが、ページ上のコメントの総数しか表示できません (基本的な例については、 JSFiddle: http://jsfiddle.net/9M4nw/2/を参照してください)。 )。上のボックスに 2、下のボックスに 4 が表示されるのが理想的です。それらの線に沿って配列または何かを使用する必要があるかもしれないと思いましたか?

これが私のコードです:

HTML

<div class="parent">
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
</div>

jQuery

$(".parent").each(function(index){
    var numChilds = $(".child").length;
    $(".parent").append(numChilds);
});
4

4 に答える 4

3

現在の HTML 要素を ( class でparent) 選択する必要があります。.child次に、classと htmlで要素の長さを選択する際に使用します.counter

を使用すると、関数$(this)から現在の HTML 要素を選択できますeach()。修正されたコード:

$(".parent").each(function(){
    var numChilds = $(".child", $(this)).length;
    $(".counter", $(this)).html(numChilds);
});

JSFIDDLE

于 2013-05-30T11:52:50.213 に答える
2

parent問題は、要素ルックアップの範囲を目的の要素に制限する必要があることです

$(".parent").each(function(index){
    var numChilds = $(".child", this).length;
    $(".counter", this).html(numChilds);
});

別バージョン

$(".parent").each(function(index){
    var $this = $(this);
    var numChilds = $this.find(".child").length;
    $this.find(".counter").html(numChilds);
});

デモ:フィドル

于 2013-05-30T11:52:33.350 に答える
2

これには、より洗練された方法で子の数を表示するために追加の作業が必要になりますが、アイデアを理解するにはそれで十分なはずです

$(".parent").each(function(index){
    var $this = $(this);
    var numChilds = $this.find(".child").length;
    $this.append("<span>" + numChilds + "</span>");
});
于 2013-05-30T11:52:49.780 に答える
1

このコードは、親 div ごとに個別に子の数を取得するのに役立ちます:-

  $(document).ready(function () {   
                      $(".parent").each(function (i)  {  
                                $(this).children().length;
                            });
                      });

これが役立つことを願って試してみてください.投票

于 2013-05-30T13:37:28.237 に答える