Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向元素方法添加属性?_Javascript - Fatal编程技术网

Javascript 如何向元素方法添加属性?

Javascript 如何向元素方法添加属性?,javascript,Javascript,代码看起来像document.getElementById.a=1。如文件所述,除IE外,该方法有效 函数也是一个对象 因此可以添加属性,对吗?尝试使用方法setAttribute,即 您可以将“a”添加到函数原型中。然后它将可用于所有功能 Function.prototype.a = 1; console.log(document.getElementById.a); //logs 1 console.log(document.getElementsByClassName.a); //also

代码看起来像document.getElementById.a=1。如文件所述,除IE外,该方法有效

函数也是一个对象

因此可以添加属性,对吗?

尝试使用方法setAttribute,即


您可以将“a”添加到函数原型中。然后它将可用于所有功能

Function.prototype.a = 1;
console.log(document.getElementById.a); //logs 1
console.log(document.getElementsByClassName.a); //also logs 1

这不是最好的解决方案,但即使在IE上也可以使用。

在Javascript中,您可以设置或获取任何值的属性,除非:

它为空或未定义 它已经或者
向本机对象/方法添加属性通常是不好的做法,因为这样做可能会与页面上的其他代码冲突。我想有更好的方法来做你正在做的事情。

发布你的代码。我会帮你找到problem@fancy你想在这里做什么?是的。函数是对象,你可以这样做,但为什么?请永远不要这样做。向原生原型添加道具是非常糟糕的做法。如果您这样做,那么任何函数通过for/in进行迭代时,该属性都将被枚举,因此它可能会在您的代码和页面上的任何其他代码中造成问题。
Function.prototype.a = 1;
console.log(document.getElementById.a); //logs 1
console.log(document.getElementsByClassName.a); //also logs 1