我想要构建自己的PROP
函数,就像Jquery
那样,但纯粹为Java script
。Javascript将字符串转换为对象属性
这是我的代码:
3210如何字符串转换成对象的属性?听说eval
会有用吗?但为什么我得到了下面的错误?
ReferenceError: disabled is not defined
我的代码出了什么问题?
我想要构建自己的PROP
函数,就像Jquery
那样,但纯粹为Java script
。Javascript将字符串转换为对象属性
这是我的代码:
3210如何字符串转换成对象的属性?听说eval
会有用吗?但为什么我得到了下面的错误?
ReferenceError: disabled is not defined
我的代码出了什么问题?
您应该而不是使用eval()
将属性名称转换为属性。使用Property accessors
。例如,el[dom]
或el.dom
。
如果Object
是HTML
元素,则可以使用setAttribute
和getAttribute
可用的方法。
当您将字符串作为参数传递给eval时,它会尝试将该字符串表示为java脚本代码。
在这里,你已经传递了一个字符串disabled
。
它被表示为:
disabled;
的解释,现在试图找到一个名为disabled
变量。由于disabled
不是我们在上下文中定义的变量,因此会引发错误:ReferenceError: disabled is not defined
。
要验证这一点,请尝试定义一个变量,然后调用它的eval()
函数。
var disabled = 10;
console.log(eval("disabled"));
打印:#10
这是因为您正在尝试评估单独“禁用”的内容。 eval("document.getElementById('submitButton').disabled")
会工作。
这一个也工作!感谢Aiman Al-Eryani。你是最好的!! –
使用 - 'EL [DOM]',或'el.setAttribute(DOM,值)'操纵'一个'el'的properties'。 – BatScream
^你应该使用这个。 –
哇蝙蝠侠,你的方法是完美的!非常感谢!!!!不管怎样,我不知道是什么样的人给我这个问题的投票大声笑 –