1

对于如何准确计算包含某个类的 div 的数量,我有点困惑。由于这里的 DOM,除非我找到一种方法来指定从哪里开始计数和在哪里停止,否则我无法使用.parent()or.child().lengthand.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); 如果有人可以帮助获得我需要的准确计数,将不胜感激

4

2 回答 2

7

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

于 2012-09-25T18:10:10.880 回答
0

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

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

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

于 2012-09-25T18:15:31.487 回答