2017-03-03 65 views
0

我想通過ID選擇HTML元素來修改它們的屬性 但由於某些原因,它不起作用。我已將我的元素定義爲:JQuery選擇器不與ID一起工作

當我嘗試通過執行以下操作來選擇元素時,我沒有得到任何效果。

function handleClick(id){ 
    var ID = parseInt(id); 
    $("#ID").css({"background-color": "white"}); 
} 

不過,如果我打這個電話,而不是用下面我得到想要的效果:$( 「#16」),CSS({ 「背景色」: 「白色」});

如何更改我的代碼,以便我可以根據id參數進行更改?

+0

什麼時候是'handleClick','id'元素是否存在於DOM中? ''#ID「'只是一個字符串,它沒有你的變量'ID'的值。也許你是指'$(「#」+ ID)'或'$(「#」+ id)'? –

+0

你沒有在任何地方使用變量'ID' .. – Rayon

+1

你的「ID」是jquery中的一個字符串。你應該做這樣的$(「#」+ ID).css ... – mamosek

回答

1

如果與16id在頁面上標記的代碼應該是這樣的:

function handleClick(id){ 
    var ID = parseInt(id); 
    $("#"+ID.toString()).css({"background-color": "white"}); 
} 

所以,如果16傳遞給id它會像這樣運行:

function handleClick("16"){ 
    var ID = parseInt("16"); //int id 
    $("#"+16.toString()).css({"background-color": "white"}); 
    //will not work because raw ints do not support toSting(). Jquery will look for "#16" 
}