我正在使用一个HTML文档,该文档使用灯箱实现来查看图像,并且出于与其API相关的原因,它在两个点中使用相同的元素ID - 一个用于缩略图视图,一个用于灯箱/完整视图。 (这些元素位于单独的<div>
标记中。)
这两个元素有不同的类值,我想知道在编写选择器时如何区分它们?它是#myElementWithDuplicateID.className1
和#myElementWithDuplicateID.className2
吗?
一般情况下,对页面上的不同元素使用相同的ID是不好的做法,还是有这样做的情况我不知道?
答案 0 :(得分:2)
重复ID在HTML文档中无效,并且会导致脚本问题,因此它们的使用被广泛认为是不好的做法。在任何情况下,具有公共ID的元素都不适合使用公共类。如果您可以防止灯箱API和其他地方的潜在并发症,您应该更正重复的ID。
也就是说,在无法重复删除ID的情况下,您提出的解决方案(链接ID和类选择器)将起作用。 CSS中的单独ID选择器将匹配具有给定ID的所有元素,无论它们是否重复,因此使用类选择器来区分它们是合理的。 Further reading.