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