2014-09-30 31 views
0

我有一个用循环更改多个图像源的问题。我有几个图像,每个图像都有自己的id,循环遍历这些id。下面是我的代码片段。在更改图像的src时作为ID变量

像第3行那样有一个固定的id,但是当使用类似于第4行的变量时,它不起作用,尽管imgName是我在第3行中使用的(我用alert来检查)。

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

任何人都可以提示我的问题是什么?

+1

摆脱imgName上的转义引号。 – 2014-09-30 15:38:27

回答

0

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

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

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

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

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

*“任何人都可以给我提示我的问题是什么?”*那有什么问题?您发布的代码没有**解释**,这很少有帮助。 – 2014-09-30 15:52:03

0

你得到的图像的名称,然后更改像这样的src属性:

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