【发布时间】:2011-03-06 19:22:05
【问题描述】:
我知道,两个元素不能有相同的 id。但它发生了,在我的项目中,我在其他 div 中有两个具有相同 id 的元素,就像这样
<div id="div1">
<img id="loading" />
</div>
<div id="div2">
<img id="loading" />
</div>
还有 CSS:
#div1 #loading
{
some style here...
}
#div2 #loading
{
another style here...
}
对我来说很好,但也许不建议这样做?
是的,我知道,我可以使用类,强烈建议这样做,但我想知道这种使用 id 是否存在潜在风险? 我认为没有,因为当我写例如
$("#div1 #loading")... 它成为一个独特的元素。
不是吗?
【问题讨论】:
-
有没有你认识的浏览器,哪里不行?
-
@Syom:它可能与 CSS 一起工作得很好,但如果你尝试在 Javascript 中获取这些元素,你几乎肯定会遇到问题。
-
@Andy E 的头我使用 Jquery,并以与 css 中相同的方式调用它们。即 $("#div1 #loading")...?有没有潜在的风险?
-
ID 是 identification 的缩写 ...所以它必须是 unique。接受它并过上幸福的生活:) 为什么要反对规范?仅仅因为某事在某些情况下有效,并不意味着您应该那样做,并且在所有情况下都有效。
-
定义它必须是唯一的:w3.org/TR/html401/struct/global.html#adef-id 理论上你可以通过在获取 div 时也指定父级的方式来做到这一点,但如果它在深层结构中怎么办?一个 id 可以用来识别某些东西(就像 Felix Kling 所说的那样)。为更多元素使用相同的 CSS 指定了 class 属性。那么为什么不只是使用它们应该如何使用的东西;)
标签: javascript jquery css uniqueidentifier