3

次の出力があります。

<section class="group">
  <div class="header">Header 1</div>
      <div class="item">item1</div>
      <div class="item">item2</div>
      <div class="item">item3</div>
  </div>    
</section>

<section class="group">
  <div class="header">Header 2</div>
      <div class="item">item1</div>
      <div class="item">item2</div>
      <div class="item">item3</div>
      <div class="item">item4</div>
      <div class="item">item5</div>
    </div>   
</section>

jQueryを使用して.item、それぞれに含まれる要素の数を教えてください<section>。現在これを試していますが、正しい番号がわかりません。

$('section.group').each(
  function() {
    alert($(this).length);
  }
);
4

8 に答える 8

14

試す:

$('section.group').each(
  function() {
    alert($('.item', $(this)).length);
  }
);

【実例】

または

$('section.group').each(
  function() {
    alert(($(this).find('.item')).length);
  }
);

【実例】


セクションを反復処理していましたが、クラスで要素をカウントすることができませんでしたitem:)


便利なリンク:

于 2012-04-11T11:52:27.967 に答える
2
$(".group").find(".item").length

これは、最も単純な 1 行のソリューションです。

于 2016-06-06T20:49:29.767 に答える
1

このコンテキストで「.item」を確認する必要があります。this ='section.group'であるため、これの長さは1です。

$('section.group').each(
  function() {
    alert($('.item',this).length);
  }
);​

ここでセレクターコンテキストの見出しを参照してください:http: //api.jquery.com/jQuery/

于 2012-04-11T11:54:32.783 に答える
1

代わりにこれを試してください:

$('section').each(function() {
    alert($('.item', this).length);
});​

デモ: http: //jsfiddle.net/aXVqM/

于 2012-04-11T11:54:56.380 に答える
1

次の例を見てください。 http://jsfiddle.net/ricardolohmann/KMgtZ/

于 2012-04-11T11:58:02.747 に答える
1
$('section.group').each(
  function() {
    alert($(this).children('.item').length);
  }
);

これは他のものよりも速いでしょう....私は推測します

于 2012-04-11T12:02:49.130 に答える
0

2 番目のセクション クラス名の名前を変更しました。こちらのデモを参照してください。

$('section').each(function() {
    var numItems = $('.group').children('div.item').length;

    alert(numItems+''); 
});

$('section').each(function() {
    var numItems = $('.group1').children('div.item').length;

    alert(numItems+''); 
});

このデモを参照してください。

于 2013-09-25T06:31:36.503 に答える