在我的数组中获取每个id图像src

时间:2016-04-26 05:35:45

标签: javascript jquery

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,它没有用,任何人都可以教我如何使这项工作?

4 个答案:

答案 0 :(得分:2)

试试这个:

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'))
   }    
}

Working fiddle

答案 1 :(得分:0)

喜欢:

$( document ).ready(function() {
var nameset = ["display1", "display2", "display3"];
//store my id inside my array.
$( nameset ).each(function( index, val ) {
  console.log($("#"+val).attr("src"));
});
});

答案 2 :(得分:0)

您的函数将无效,因为您试图获取src - 数组元素的属性,这是一个字符串。 所以你尝试过的是:

"display1".src

我打赌你现在看到自己为什么这不起作用。

在您的情况下,您必须先找到该元素,然后才能使用&#34;它。 为了使你的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);
    }
});

&#13;
&#13;
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);
    }
}
&#13;
<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"/>
&#13;
&#13;
&#13;

答案 3 :(得分:-3)

这样做

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);
  }