2013-10-16 52 views
0

這是我的腳本屬性沒有得到設置

var str1 = "#"; 
var str2 = unique; 
var n = str1.concat(str2); 

if (status > 0){ 
$(n).attr("src", "/img/red.jpg") 

}else{ 
$(n).attr("src", "/img/green.jpg") 
} 

這是我的一個HTML的表格內 - 的唯一代碼(?相當長的ID)是一樣的us.key() 它沒有工作時,我內使用find()<tr>標籤(雖然過於複雜且容易出錯)這很簡單,應該可以工作,但不是嗎?任何想法我做錯了什麼?

<td> 
    {% if us.status == 0 %} 
<img id={{us.key()}} src="/img/green.jpg"></img> 
{% else %} 
<img  id="{{us.key()}}" src="/img/red.jpg"></img> 
{% endif %} 
    </td> 

更新:如果我直接添加字符串到它的工作紙條 - 莫名其妙的連接字符串中得到改變

回答

2

嘗試做正確jQuery代碼是這樣:

(function ($) { 
    "use strict"; 
    // Based on your original code, I'm assuming that both the 'unique' and 'status' variables are global 
    var str = unique; 
    if (status > 0) { 
     $('#' + str).prop("src", "/img/red.jpg"); 
    } else { 
     $('#' + str).prop("src", "/img/green.jpg"); 
    } 
}(jQuery)); 

請注意,您應該使用.prop()方法而不是.attr()。使用道具是推薦的方法。

+0

感謝您讓我挺直,我認爲.attr()是正確的方法。是的狀態和獨特的是全球字符串 – user2764108

+0

我遵循你的建議,它現在正在工作 – user2764108

+0

很高興知道這一點。上帝保佑。 :) – Cliffmeister

0

你可以嘗試

var str1 = "#"; 
var str2 = unique; 


// var n = str1.concat(str2); 

if (status > 0){ 
$("#"+str2).attr("src", "/img/red.jpg") 

}else{ 
$("#"+str2).attr("src", "/img/green.jpg") 
} 
+0

感謝您的答案,但它仍然沒有設置scr屬性。我能想到的是,ID太長,可能有非標準字符。示例唯一代碼可能是 - ag1kZXZ-cGV0ZXJ0ZXN0chULEghFbXBsb3llZRiAgICAgLzyCgw - 也許這是問題? – user2764108

+0

http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html –

+0

在控制檯中看到attr是否設置或者您的圖像路徑是否正確? –

相關問題