获取数组jQuery中元素的索引

Get index of element in array jQuery

本文关键字:索引 元素 数组 jQuery 获取      更新时间:2023-09-26

我有一个对象数组$('selector'),我想得到每个元素的index(),并将其附加到每个元素的html中。我可以只写$('selector').index()来获取第一个元素的索引,但我如何获取其他元素,并将它们附加到它们的DOM对象中。救命,我是Javascript和jQuery的新手。

试试这个。。。

$("selector").each(function(i) {
    $(this).html($(this).html() + " " + i);
});

i将是每个选定元素的索引,并将被附加到html中。

下面是一个jsfiddle示例。。。

http://jsfiddle.net/54bcn68j/

您可以将函数传递给.html()jQuery方法。这个函数可以方便地用两个参数调用,元素索引和当前HTML,所以你想要的很简单:

$elements.html(function(i, v){
   return v + i; 
});

JSFiddle

这将为您提供相对于所做选择的index。如果您想要相对于每个同级元素的索引,则需要.index():

$('ul li').html(function(_, v){
   return v + $(this).index();
});

JSFiddle

使用JQuery.each:

$('selector').each(function(index) {
  console.log(index);
});

示例:

Html:

<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>

JS:

$('div').each(function(index){
    var newHtml = $(this).html() + " - Index:" + index;
    $(this).html(newHtml);
});

输出:

My Div - Index:0
My Div - Index:1
My Div - Index:2
My Div - Index:3
My Div - Index:4
My Div - Index:5
My Div - Index:6
My Div - Index:7
My Div - Index:8

JSFiddle。

使用.each()选择每个元素,获取每个索引,并将每个索引附加到与选择器匹配的所有元素。

$("selector").each(function(index) {
   var eachIndex = $(this).index();
   $(this).append(eachIndex);
});

尝试:

$.each($('selector'), function() {
    $(this)append($(this).index());
});

您也可以使用eq:

$('selector').each(function(){
  $(this).html('index for this html is ' + $(this).eq());
});

您应该使用.each 进行迭代

样本代码:

$("selector").each(function(i, v) {
  $(this).append(i);
});

只需循环它们,迭代器就会告诉你它是索引。

var array = $('.someClass');
for(var i=0; i<array.length; i++){
    console.log('Element #' + i + ': ' + $(array[i]).text());
}