jquery某个类的元素索引

时间:2013-07-13 22:43:06

标签: jquery

我在容器中有一些特定类的元素,我想得到该特定元素的索引。假设我有这个HTML:

<div id="TheContainer">

  <div class="MyClass">My Class</div>
  <div class="SomeClass">Not My Class</div>
  <div class="SomeOtherClass">Not My Class</div>
  <div class="SomeClass">Not My Class</div>
  <div class="MyClass">My Class</div>
  <div class="SomeOtherClass">Not My Class</div>
  <div class="SomeClass">Not My Class</div>
  <div class="MyClass">My Class</div>

</div>

我想获得MyClass的索引。这就是我试过的:

$('#TheContainer').on({
    click: function () { 

       console.log($(this).parent().children('.MyClass').index()); }

}, '.MyClass');

例如,如果用户点击第三个MyClass元素,它应该是控制台2. jsFiddle是here

感谢。

2 个答案:

答案 0 :(得分:5)

请注意index()有一个可选的元素争论:

  

.index( element )

     

<强>元素

     

类型:Element或jQuery DOM元素或第一个元素   要查找的jQuery对象。

因此,在这种情况下,您可以使用this作为该参数:

$(this).parent().children('.MyClass').index(this));

jsFiddle here.

答案 1 :(得分:1)

您点击的是.MyClass元素,因此只需检查this与传递给index()的selecor相关的索引,在本例中为.MyClass

$(document).ready(function () {
    $('#TheContainer').on('click', '.MyClass', function () {
        alert( $(this).index('.MyClass') );
    });
});

FIDDLE

来自docs

  

.index(选择器)

     

表示要在其中查找的jQuery集合的选择器   元件。