如果父ID不同,是否可以为元素的子元素设置与另一个元素的子元素的id相同?任何潜在的冲突?
答案 0 :(得分:9)
不,元素id
在整个文档中应该是唯一的。 document.getElementById()
无法正常使用重复的id
(显然,因为它只返回一个元素)。现在你的页面可能与重复的id
一起使用,它不像浏览器会崩溃或拒绝呈现页面或任何东西,但它不是正确的HTML。
如果您需要非唯一标识符,请使用class
属性。这正是用于标记具有相同名称的多个元素的原因。
答案 1 :(得分:3)
此属性[id]为元素指定名称。 此名称在文档中必须是唯一的。
答案 2 :(得分:2)
这是非常糟糕的做法,可能会导致错误。更好的解决方案是使用类来区分子对象,然后从父ID下降以找到您要查找的元素。
答案 3 :(得分:1)
无论在HTML或Javascript的上下文中,ID都应始终是唯一的。使用唯一标识符可以获得更好的效果。例如,您有多个id为“foo”的元素;在document.getElementById(“foo”)中,只返回该id的第一个实例。
答案 4 :(得分:1)
如果你有不同的具有相同ID的DOM元素,那么在某些时候会导致麻烦......即使它可能有效也不要这样做。