Мне интересно, есть ли индекс, который следует использовать при использовании jQuery для управления DOM.
Например, могу ли я сделать что-то вроде
$("#elements a").css('id','element-'+index);
Итак, чтобы повернуть
<div id="elements">
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
</div>
в
<div id="elements">
<a id="element-1" href="#"></a>
<a id="element-2" href="#"></a>
<a id="element-3" href="#"></a>
</div>
Метод Arun будет работать очень хорошо, но так будет и это кажется немного проще в концепции, потому что .each()
передает обратный вызов индекс элемента, который он перечисляет, поэтому вы можете использовать это непосредственно, чтобы просто присвоить значение id
:
$("#elements a").each(function(index) {
this.id = 'element-'+ (index + 1);
});
Или, если вы пытаетесь просто ссылаться на 3-й элемент без назначения идентификатора раньше времени, вы можете сделать это вот так:
$("#elements a").eq(2).css("color", "red");
делай это так..
var i=1;
$("#elements a").each(function(){
$(this).attr("id","element-"+i);
i++;
});
.each
может передавать index
прямо в функцию, так зачем использовать другую переменную для этого?
Вы пытаетесь получить доступ к определенному элементу привязки на основе последнего номера в ID? Если это так, просто пропустите элементы, возвращаемые $("#elements").find('a')
и проверьте идентификатор на что-то. Как это:
var d = document.createElement('div');
var search = 1;
d.id = "elements";
d.innerHTML = '<a id="element-1" href="#"></a> <a id="element-2" href="#"></a> <a id="element-3" href="#"></a>';
$(d).find('a').each(function (index, item) {
if (parseInt(item.id.split('-')[1]) == search)
alert("got it");
});
.css('id','element-'+index);
Почему вы даже используете методcss
?