2

我有一些div,例如:

<div id="parent">
  <div class="child">
    <div class="gChild">
     <button></button> 
    </div>
    <div class="gChild">
     <button></button> 
    </div>
  </div>
  <div class="child">
    <div class="gChild">
     <button></button> 
    </div>
    <div class="gChild">
     <button></button> 
    </div>
  </div>
</div>

<div id="NextSet">
  <div class="child">
    <div class="gChild">
     <button></button> 
    </div>
    <div class="gChild">
     <button></button> 
    </div>
  </div>
</div>

现在我想从单击的按钮中获取“孩子”的索引。这适用于第一组'#parent'

$(this).parents('.child').index();

但不在第二组“#NextSet”中,因为#parent 中的所有 .child 元素也都添加到了 parents() 中。我试过了:

$(this).closest('.child').parent().index();

但这不对...

4

1 回答 1

2

closest()找到匹配选择器的第一个父级,所以它只是:

$(this).closest('.child').index()

parents()将找到与选择器匹配的所有父母。

并获取所有.child元素中的索引,传递一个集合:

$(this).closest('.child').index('.child');
于 2013-04-17T18:12:57.410 回答