使用DOM按顺序识别数字

use DOM to identify a number in sequence

本文关键字:识别 数字 顺序 DOM 使用      更新时间:2023-09-26

我很确定我可以更好地表达标题,但我很难把它表达出来。

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

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

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

$.each($('div'), function(index, value) {
    // value is the current element in the iteration.
    value.text('div ' + index);
});
// Iterate through the elements
$(".some_element").each(function(){
   // Get the index (zero-based)
   var itemIndex = $(this).index();
   // ???
   $(this).html(itemIndex);
   // Profit!
});
<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