2012-12-21 44 views
4

可能重複:
javascript object, access variable property name?是否可以在運行時進行用戶定義的DOM更改?

我與JS瞎搞,學習的東西,我想知道的東西...... 假設你有一個功能aFunc(),你接受一個字符串aFunc(val)。該值是用戶定義的,然後用於修改元素的CSS。

例如:

function aFunc(val){ 
    document.getElementById('something').style.val = 'red'; 
} 

假設用戶輸入borderColor,它會以某種方式refrence borderColor其中val是。我不知道如何或者如果這是可能的。

編輯: 請沒有eval() :)

回答

4

只要使用此作爲基礎:JSBIN- Demo on a Div

var type = prompt("style"); 
var value = prompt("value"); 
document.body.style[type] = value; 
+2

正確答案!在JavaScript中object.val與object ['val']相同,所以如果你想使用變量作爲屬性名稱,只需使用[]而不是「。」。 – masch

+0

謝謝!這很好用! – MichaelMitchell

+0

:) ............... –

2

在JavaScript中的每個對象都有一個名爲hasOwnProperty方法,這需要一個字符串值,將返回一個布爾值。

var myObj = { 
    name: "Josh" 
}; 

myObj.hasOwnProperty("name") === true; //This is true 

你可以用它來測試一個特定屬性的存在,然後使用Akhil Sekharan's answer表示訪問屬性的方法。

相關問題