我有这个缩略图列表,并希望将图像路径(源)推送到数组中: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>
答案 0 :(得分:48)
您可以使用map()
更直接地创建src属性数组:
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] }
答案 1 :(得分:5)
您可以遍历img
元素:
var tn_array = Array();
$('#thumbnails img').each(function() {
tn_array.push($(this).attr('src'));
});