更改图像的src时变量为id

时间:2014-09-30 15:33:21

标签: javascript

我在使用循环更改多个图像的来源时遇到问题。我有几个图像,每个图像都有自己的id,循环遍历这些ID。下面是我的代码的摘录。

使用类似于第3行的固定ID,但是当使用第4行中的变量时,它不起作用。虽然imgName是我在第3行中使用的(我用警报检查过)。

for (var i in data.users) {
    var imgName = "\"#" + data.users[i].name + "\"";
    $("#Licht_Wohnzimmer").attr('src',"Img\\Pic_" + data.users[i].status + ".gif");
    //$(imgName).attr('src',"Img\\Pic_" + data.users[i].status + ".gif");
    //alert(imgName);
}

任何人都可以告诉我我的问题是什么吗?

3 个答案:

答案 0 :(得分:0)

假设data.users[i].name等于字符串foobar

var imgName = "\"#" + data.users[i].name + "\"";将导致字符串"#foobar"(双引号是字符串本身的一部分)。

因此$(imgName)将被解析为$("\"#foobar\""):必须删除两个周围的双引号(即不要添加):

var imgName = "#" + data.users[i].name;

答案 1 :(得分:0)

var imgName = data.users[i].name;
$('#' + imgName).attr('src',"Img\\Pic_" + data.users[i].status + ".gif");

答案 2 :(得分:0)

您获取图像的名称,然后更改src属性,如下所示:

for (var i in data.users) {
   var imgName = data.users[i].name;
   imgName.src = "Img\\Pic_" + data.users[i].status + ".gif";
}