var nameset_array = ["display1", "display2", "display3"];
//store my id inside my array.
for(var h = 0; h < nameset_array.length; h++){
//loop thought the array and get each id image src.
//is not working.
//tested alert(nameset_array[h].src), not working too.
alert(nameset_array[h].attr("src"));
}
我已经将我的 img id 存储到一个数组中,我想获取每个数组名称 img src,如何获取数组中的每个 id 图像 src?
我测试了nameset_array[h].src
,它的效果不佳,谁能教我如何做到这一点?
试试这个:
var nameset = ["display1", "display2", "display3"];
for(var h = 0; h < nameset.length; h++){
var $img = $('#'+nameset[h]);
if($img.length > 0)
{
alert($($img[0]).attr('src'))
}
}
工作小提琴
喜欢:
$( document ).ready(function() {
var nameset = ["display1", "display2", "display3"];
//store my id inside my array.
$( nameset ).each(function( index, val ) {
console.log($("#"+val).attr("src"));
});
});
您的函数将不起作用,因为您试图获取数组元素(字符串)的src
-Attribute。所以你试过的是这样的:
"display1".src
我敢打赌,现在你明白为什么这不起作用了。
在您的情况下,您必须先找到该元素,然后才能"使用"它。为了你的nameset_array项都是现有元素的id,你的函数只需要这个小改动:
document.getElementById(nameset_array[h]).src
如果没有,请在尝试获取元素信息之前检查该元素是否存在。下面是一个完整的示例:
var nameset_array = ["display1", "display2", "display3"];
for(var h = 0; h < nameset_array.length; h++) {
var img = document.getElementById(nameset_array[h]);
if (img) {
alert(img.src);
}
}
如果你不需要旧的浏览器支持,你可能不想使用需要更少代码的更新可能性:
["display1", "display2", "display3"].forEach(function(id) {
var img = document.getElementById(id);
if (img) {
alert(img.src);
}
});
var nameset_array = ["display1", "display2", "display3"];
for(var h = 0; h < nameset_array.length; h++) {
var img = document.getElementById(nameset_array[h]);
if (img) {
alert(img.src);
}
}
<img id="display1" src="http://foo.bar/img1.png"/>
<img id="display2" src="http://foo.bar/img2.png"/>
<img id="displayX" src="http://foo.bar/img3.png"/>
<img id="display4" src="http://foo.bar/img4.png"/>
var nameset = ["display1", "display2", "display3"];
//store my id inside my array.
for(var h = 0; h < nameset.length; h++){
//loop thought the array and get each id image src.
//is not working.
//tested alert(nameset[h].src), not working too.
alert(document.getElementById(nameset[h]).src);
}