【发布时间】:2012-02-08 07:02:41
【问题描述】:
我对 css3 使用选择器(或一般的简单 css 选择器)相当陌生,我对这些 css 选择器与 jquery 或 javascript 选择器的性能比较感到好奇?
假设你有这样的事情:
css 版本
#someID > div:nth-child(2n) { some css .... }
jquery 版本(编辑)
$("#someID").children(":nth-child(even)").css({ some css ....});
尽可能使用 css 选择器通常更快,还是使用 jquery 选择器来调整与一个元素或一组元素相关的 css?主要是当集合变得相当大时。我会假设只有少数几个项目不会有太大的性能差异?
谢谢!
【问题讨论】:
-
第一个子选择器 ">" 在任何一种情况下都是猪。
-
这些选择器示例不匹配。第二个示例选择 ID 为
someID的元素,它是偶数子元素,而第一个示例选择 div,它是#someID的偶数子元素。 -
是的,我想我确实搞砸了 jquery 版本......试图把它放在一起快速。
-
您的编辑完全改变了问题...
$("#someID").children(":nth-child(even)")执行 两个 选择。 -
@Matt:我的意思是 jQuery 使用了两个独立的选择器,一个用于过滤选择另一个子的结果。这与您的 CSS 选择器形成对比,后者仅从右到左进行评估,
>组合器链接这两个部分。
标签: css performance jquery-selectors css-selectors