jQuery получает img исходные атрибуты из списка и нажатия в массив

Я имею этот список миниатюры и хотел бы, продвигают каналы передачи изображения (источники) в массив: tn_array

<ul id="thumbnails">
    <li><img src="somepath/tn/004.jpg" alt="fourth caption" /></a></li>
    <li><img src="somepath/tn/005.jpg" alt="fifth caption" /></a></li>
    <li><img src="somepath/tn/006.jpg" alt="sixth caption" /></a></li>
</ul>
20
задан FFish 1 March 2010 в 10:08
поделиться

2 ответа

Вы можете создать массив атрибутов src более непосредственно, используя map():

var tn_array = $("#thumbnails img").map(function() {
  return $(this).attr("src");
});

Edit: tn_array здесь объект, а не строгий массив Javascript, но он будет действовать как массив. Например, это законный код:

for (int i=0; i<tn_array.length; i++) {
  alert(tn_array[i]);
}

Однако вы можете вызвать get(), что сделает его строгим массивом:

var tn_array = $("#thumbnails img").map(function() {
  return $(this).attr("src");
}).get();

Как отличить? Вызов:

alert(obj.constructor.toString());

Первая версия будет:

function Object() { [native code] }

Вторая:

function Array() { [native code] }
48
ответ дан 29 November 2019 в 23:08
поделиться

Вы можете перебрать все img элементы:

var tn_array = Array();

$('#thumbnails img').each(function() {
    tn_array.push($(this).attr('src'));
});
5
ответ дан 29 November 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: