使用DOM按顺序识别数字

时间:2011-06-24 12:09:11

标签: javascript jquery dom jquery-selectors children

我很确定我可以更好地说出这个标题,但我很难将这个标题说出来。

我有一系列相同的DOM元素:

<div class="some_element"></div>
<div class="some_element"></div>
<div class="some_element"></div>

是否有可能使用jQuery来确定正在处理子序列中的哪个数字,以便我可以单独处理它们?

3 个答案:

答案 0 :(得分:2)

$.each($('div'), function(index, value) {
    // value is the current element in the iteration.
    value.text('div ' + index);
});

答案 1 :(得分:1)

// Iterate through the elements
$(".some_element").each(function(){
   // Get the index (zero-based)
   var itemIndex = $(this).index();
   // ???
   $(this).html(itemIndex);
   // Profit!
});

答案 2 :(得分:1)

<div class="some_element">1</div>
<div class="some_element" id="id2">2</div>
<div class="some_element">3</div>

$('#id2').index(); // 1 since it's a zero-based index

如果标记稍微复杂一点:

<div class="some_element">1</div>
<span class="some_other_element">useless</span>
<div class="some_element" id="id2">2</div>
<div class="some_element">3</div>

$('#id2').index(); // 2 since it looks at all the siblings
$('#id2').index('.some_element'); // 1 again, that's better

最后,如果你有一个自定义的jquery对象,它会变得更复杂/自定义:

$('.some_element')
.filter(function(){return Number($(this).text())<=2;}) // custom collection
.index($('#id2')); // 1