Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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 没有名称验证的setAttribute_Javascript_Html_Dom - Fatal编程技术网

Javascript 没有名称验证的setAttribute

Javascript 没有名称验证的setAttribute,javascript,html,dom,Javascript,Html,Dom,我需要在JS中向HTML元素添加属性。 我使用的是setAttribute,但是我需要添加属性[foo]-这是无效的属性名称-在我的情况下,这没关系,因为在以后的处理中,属性被转换为有效值foo 问题是setAttribute抛出错误,表示它的名称无效 是否有任何方法可以在不进行名称验证的情况下添加属性 代码: 它是ChromeV59的 用钢笔复制它: 谢谢 使用setAttribute时不需要[] 您的JS应该是: // el is HTMLInputElement ele.setAttri

我需要在JS中向HTML元素添加属性。 我使用的是setAttribute,但是我需要添加属性
[foo]
-这是无效的属性名称-在我的情况下,这没关系,因为在以后的处理中,属性被转换为有效值
foo

问题是setAttribute抛出错误,表示它的名称无效

是否有任何方法可以在不进行名称验证的情况下添加属性

代码:

它是ChromeV59的

用钢笔复制它:


谢谢

使用
setAttribute
时不需要
[]

您的JS应该是:

// el is HTMLInputElement

ele.setAttribute("foo", "test");

请在此处添加代码,它不应引发错误。你给你的属性赋值了吗?你用的是AngularJS吗?这很有趣。据我所知,根据,
[foo]
实际上是一个有效的属性名,但我没有可用的浏览器愿意接受它。但我需要添加括号-这是我的逻辑所必需的。@user1038334到目前为止,更改逻辑是更好的选择。这不可能,就像添加动态属性以供选择一样(不是实际情况-但非常类似)您不能使用自定义的
数据-*
属性吗?浏览器会将带有
[]
的属性呈现为无效的HTML。在从[]添加到strip中的显示属性之前,浏览器将永远不会呈现该属性。
// el is HTMLInputElement

ele.setAttribute("foo", "test");