当处理一个“不太好”的代码库的Web项目时,我常常在JS / CSS选择器中看到像
那样的div#myID
这似乎不对......
http://jsfiddle.net/bobber205/yeJRQ/
上面的例子。这意味着,如果由于某种原因,你改变了id所属的标签,你可能会有很多css要改变....
人们这样做是怎么回事?它更快吗?速度提升值得吗?好奇。 :P
答案 0 :(得分:5)
这是真的糟糕的做法。根据定义,ID选择器是唯一的。包含标记或类限定符只会添加需要不必要地评估的冗余信息。所以它根本没有速度提升 - 这是一个无用的减速。
答案 1 :(得分:4)
可能有一个用例。
例如,如果你有内联元素span#myID
或者块元素div#myID
(当然是在不同的页面中),并且想要应用不同的样式。
但正如@Zoltan Toth所注意到的那样,通常会出现“将标签名称放在以防万一”的行为,这些人对CSS选择器基础知识不够熟悉。
在99%的情况下,如果您选择带ID的东西,您应该只使用ID。它是独一无二的。