2014-09-30 38 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"; 
}