Я динамически загружаю изображения между каждым неупорядоченным тегом списка. Теперь я хотел бы добавить уникальный идентификатор для каждого изображения, динамически загруженного. Я считаю, что проблема заключается в том, что jQuery не может выполнять итерацию изображений, потому что изображения динамически загружаются? Поэтому я попытался выполнить итерацию с помощью неупорядоченных тегов списка, а затем поместить сгенерированный индекс (i) в качестве соответствующего идентификатора изображения, но он тоже не работает.
JQuery:
var img = $("<img />"), li = $('li');
li.append(img);
li.each(function(i){
img
.attr( "id", i )
.attr("src", "img/" + i + ".png")
.attr("alt", "image" + i);
});
HTML:
<ul>
<li><!--<img id="01" src="img/01.png" alt="image01/>--></li>
<li><!--<img id="02" src="img/02.png" alt="image02"/>--></li>
<li><!--<img id="03" src="img/03.png" alt="image03"/>--></li>
<li><!--<img id="04" src="img/04.png" alt="image04"/>--></li>
....
</ul>
Вам нужно изменить свой код:
var li = $('ul li');
li.each(function (i) {
var img = $("<img />");
img.attr({
"id": i,
"src": "img/" + i + ".png",
"alt": "image" + i,
});
$(this).append(img);
});
Демо: http://jsfiddle.net/lotusgodkk/GCu2D/150/
Вы можете передавать полные атрибуты одновременно и вместо того, чтобы проходить индивидуально.