是否可以在运行时进行用户定义的DOM更改?

时间:2012-12-21 04:13:22

标签: javascript

  

可能重复:
  javascript object, access variable property name?

我正在搞乱JS,学习一些东西,我想知道一些事情...... 假设您有一个函数aFunc(),并且您接受字符串aFunc(val)。该值是用户定义的,然后用于修改元素的CSS。

例如:

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

假设用户输入borderColor,它会以某种方式引用borderColor val。我不知道这是怎么回事。

修改 请不要eval():)

2 个答案:

答案 0 :(得分:4)

只需将其作为基础: JSBIN- Demo on a Div

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

答案 1 :(得分:2)

JavaScript中的每个对象都有一个名为hasOwnProperty的方法,它接受一个字符串值并返回一个布尔值。

var myObj = {
   name: "Josh"
};

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

您可以使用它来测试特定属性的存在,然后使用Akhil Sekharan's answer中所述的方法来访问该属性。