Javascript将String转换为Object属性
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
这是因为您试图评估"禁用"本身的意义。CCD_ 19会起作用。
相关文章:
- 用于更改object.object属性的函数
- JavaScript - 转义 JavaScript Object 属性值中的单引号
- JS:理解可写为 Object 属性属性
- 无法通过 angularjs 访问 javascript-object 属性
- Javascript将String转换为Object属性
- Javascript Object属性在声明之前已登录Google Chrome控制台
- 如何获取@object属性的值
- 当我在同一对象中具有另一个属性的值时,从对象数组中获取Object属性
- Angular 101: ngShow using object属性不起作用
- 如何创建一个javascript函数,输出一个带有object's属性列表的对象列表
- Javascript中object's属性的方法
- 不能访问React对象状态上的object属性,即使它存在.返回未定义
- 删除基于JSON文件的JS Object属性
- 当Object属性不存在时触发错误
- Javascript: object属性是数组,但是追加是不工作的
- 用外部的ng-repeat's object属性过滤嵌套的ng-repeat
- 无法在angularjs中访问另一个属性中的object属性
- 具有object属性的函数的新实例
- 无法更新Object'中的Javascript Object属性;s函数调用
- 获取用字符串调用它的Object属性值