![](/img/trans.png)
[英]How to convert a string to a Javascript object with a property and a function reference?
[英]Javascript convert String to Object property
我想像Jquery
一样构建自己的PROP
函数,但使用纯Java script
。
这是我的代码:
<input id="submitButton" type="submit" value="LOGIN">
function prop(el, dom, boolean) {
var convert = eval(dom);
el.convert = boolean;
console.log(convert);
}
var x = document.getElementById("submitButton");
prop(x, "disabled", true);
如何将字符串转换为对象属性? 听说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")
将起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.