2011-10-03 58 views
1

我:您可以使用變量值來指定jquery對象名稱嗎?

if (!myObj.login_id) { 
    alert("The object for login_id does not exist."); 
} else { 
    alert("The object for login_id DOES exist. The value of the object is: " + myObj.login_id); 
} 

這是正常工作。對象和它的值已經被定義了。但是,我有多個對象,它們的ID都是以attr命名的。所以,我嘗試這樣做(例如說這是一個點擊事件:?

objtitle = $(this).attr('id'); // this is "login_id" 

if (!myObj.objtitle) { 
    alert("The object for "+objtitle+" does not exist."); 
} else { 
    alert("The object for "+objtitle+" DOES exist. The value of the object is: " + myObj.objtitle); 
} 

爲什麼它停止工作時,我使用一個變量爲對象的名稱

+1

'if(!myObj [this.id]){...' –

回答

9

使用方括號

myObj[objtitle] 
+0

謝謝!你如何在這裏做+代表? – Oseer

+0

+ rep?你的意思是投票嗎? –

+0

只是看我如何能夠感謝有人幫助我在這裏。我點擊「這個信息是有用的」和「這是你接受的答案」......也感謝寂寞! – Oseer

3

有訪問的對象屬性的兩種方式:點語法和​​方括號語法這些被稱爲member operators所以下面兩個是等價的:

obj.foo 
obj['foo'] 

點語法(第一個)是一個文字名稱。因此,obj.objtitle試圖找到名爲objtitle的屬性。如果您有一個包含所需屬性名稱的變量,則必須使用方括號語法。

myObj[objtitle] 
相關問題