计算一个类的div数

时间:2012-09-25 18:03:25

标签: javascript jquery html

我对如何准确计算包含某个类的div的数量感到困惑。由于这里的DOM,我无法使用.parent().child().length.size()无法工作,除非我找到一种方法从哪里开始计算和停止

例如

<div class="container">
      <h2 class="12345">title<h2>
      <div class="_row">...</div>
      <div class="_row">...</div>
      <div class="_row">...</div>
      <h2 class="6789">title<h2>
      <div class="_row">...</div>   //count these
      <div class="_row">...</div>   //count these
      <div class="_row">...</div>   //count these
      <div class="_row">...</div>   //count these
      <div class="_row">...</div>   //count these
      <div class="_row">...</div>   //count these
      <h2 class="01234">title<h2>
      <div class="_row">...</div>
      <div class="_row">...</div>
      <div class="_row">...</div>
      <div class="_row">...</div>
      <div class="_row">...</div>
   </div>

所以如果我的函数传入6789,我会想要在“.6789”之后包含类“_row”的div计数,但在下一个<h2>停止计数。

我有点迷失在这里,因为他们在DOM中属于同一级别,所以我无法做$('.6789' > '._row')$('.6789').parent().find('._row);如果有人可以帮助我获得我需要的准确计数非常感谢

2 个答案:

答案 0 :(得分:7)

使用jQuery's nextUntil() function。链接页面的示例代码几乎完全符合您的要求。

答案 1 :(得分:0)

您可以从h2元素开始,然后使用nextUntil选择以下所有div:

var countOfDivs = $("h2.6789").nextUntil("h2","div._row").length;

nextUntil的第二个参数确保在标记开始包含除h2元素之间的div._row之外的其他元素时选择是稳定的