从Chrome 63中,引发以下错误:
[DOM]找到2个具有非唯一ID的元素#a :(更多信息:https://goo.gl/9p2vKq)
https://jsfiddle.net/arnabgh/jz186qxe/
<input type="password">
<input id="a">
<input id="a">
使用输入类型密码时是否有任何特殊验证,从Chrome 63开始?
答案 0 :(得分:20)
是的,有;这就是你看到那条消息的原因。但我怀疑这不是你真正要求的。
如果您的问题为什么 Chrome已开始显示此消息,我的猜测是,由于密码表单倾向于传输敏感信息(即密码),因此密码表单中的任何错误都应该被带到开发人员立即注意。在设计和实施密码表格时应该更加小心。
错误消息链接到的文档(我不能假设您已阅读,因为您在问题中未对其进行确认)有一个关于编写符合标准的HTML的小节,其中唯一的ID规则是重新表示:
遵循HTML指南
Web浏览器的设计考虑了HTML规范,反对它可能会导致网页出现意外问题。这意味着:
元素
id
属性应该是唯一的:没有两个元素应该具有相同的id
。
(为什么这个规则是唯一一个有人猜测的规则;它看起来肯定会在将来增加更多,但是他们只用这一条规则推出一个文件然后调用它仍然很奇怪好。)
似乎没有办法禁用此消息,但是因为它不会阻止页面超出重复ID的范围(并且它们也不会),如果您无法更正非自己的ID本身可以安全地忽略它。
答案 1 :(得分:1)
代替id='a'
使用具有唯一名称的class='a'
,然后与.a in一起使用,也可以使用不同于id='a'
等其他字段ID和{{ 1}}。
答案 2 :(得分:0)
尝试使用[id]
代替[attr.id]
这对我有用,希望对您有所帮助。