我有一个对象数组$('selector')
,我希望获得每个元素的index()
并将其附加到每个元素的html中。我可以得到第一个元素的索引只是写$('selector').index()
,但我怎么能得到其他元素,并将它们附加到它们的DOM对象。帮助,我是Javascript和jQuery的新手。
答案 0 :(得分:2)
试试这个......
$("selector").each(function(i) {
$(this).html($(this).html() + " " + i);
});
i
将是每个所选元素的索引,并将附加到html。
这是一个简单的例子......
答案 1 :(得分:2)
您可以将函数传递给.html()
jQuery方法。使用两个参数(元素索引和当前HTML)可以方便地调用此函数,因此您想要的很容易:
$elements.html(function(i, v){
return v + i;
});
这将为您提供相对于所做选择的index
。如果您希望索引相对于每个元素的兄弟姐妹,则需要.index()
:
$('ul li').html(function(_, v){
return v + $(this).index();
});
答案 2 :(得分:0)
使用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
答案 3 :(得分:0)
使用.each()选择每个元素,获取每个索引并将每个索引附加到与选择器匹配的所有元素。
$("selector").each(function(index) {
var eachIndex = $(this).index();
$(this).append(eachIndex);
});
答案 4 :(得分:0)
尝试:
$.each($('selector'), function() {
$(this)append($(this).index());
});
答案 5 :(得分:0)
您也可以使用eq:
$('selector').each(function(){
$(this).html('index for this html is ' + $(this).eq());
});
答案 6 :(得分:-1)
您应该使用.each
示例代码:
$("selector").each(function(i, v) {
$(this).append(i);
});
答案 7 :(得分:-1)
只需循环遍历它们,迭代器就会告诉你它是索引。
var array = $('.someClass');
for(var i=0; i<array.length; i++){
console.log('Element #' + i + ': ' + $(array[i]).text());
}