20

我有这个缩略图列表,并希望将图像路径(源)推送到一个数组中: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>
4

2 回答 2

48

您可以使用以下方法更直接地创建 src 属性数组map()

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

编辑: 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] }
于 2010-03-01T10:11:23.853 回答
5

您可以遍历任何img元素:

var tn_array = Array();

$('#thumbnails img').each(function() {
    tn_array.push($(this).attr('src'));
});
于 2010-03-01T10:13:09.113 回答