Динамически загружаемые изображения и добавление идентификатора атрибута с помощью jQuery

0

Изображение 174551 Я динамически загружаю изображения между каждым неупорядоченным тегом списка. Теперь я хотел бы добавить уникальный идентификатор для каждого изображения, динамически загруженного. Я считаю, что проблема заключается в том, что 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>
  • 0
    Можете ли вы создать пример jsFiddle.net, который воспроизводит проблему?
  • 0
    Происходит то, что jquery выводит только изображения img / 12.png, а не изображения с 1 по 12.png для каждого li. Я выложу скриншот проблемы выше. jsfiddle.net/jbryant/F6z7R
Показать ещё 1 комментарий
Теги:
attr

1 ответ

1
Лучший ответ

Вам нужно изменить свой код:

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/

Вы можете передавать полные атрибуты одновременно и вместо того, чтобы проходить индивидуально.

  • 0
    Спасибо @kamleshKushwaha отлично работает :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню