【发布时间】:2015-02-17 21:04:42
【问题描述】:
这只是一个概念性问题,涉及良好实践。
问题很简单。是否有任何“正确”的方式来订购 jQuery/CSS 选择器的各个部分?例如,假设我有一个具有以下属性的元素:
<div class="red green blue" id="someDiv" anAttr="something">
为了更好的衡量,让我们在悬停时也将其作为目标。
下面的选择器有什么区别吗?:
div.red.green.blue#someDiv[anAttr='something']:hover
div#someDiv.red.green.blue[anAttr='something']:hover
div.red#someDiv[anAttr='something']:hover.blue.green
div[anAttr='something'].blue:hover#someDiv.red.green
意思是,目标的顺序真的很重要吗?或者我可以把它们按我想要的顺序排列吗?
根据这个JSFiddle,他们都在技术上工作。
【问题讨论】:
-
你喜欢哪种方式都可以。
-
好奇:它们都有效吗?有些语法看起来很奇怪。从语义上讲,我更喜欢从
id开始,然后是class,然后是其他attributes,然后是attribute values,最后是状态(即:hover、:checked等) -
这可能对你有帮助:Specifics on CSS Specificity
-
@ochi 我可以确认:They all work
标签: jquery css jquery-selectors css-selectors