jQuery选择器的性能特征与CSS选择器的性能特征有何不同?
昨天我偶然发现了谷歌Firebug的页面速度插件。关于使用高效CSS选择器,据说不要使用过度限定的选择器,即使用jQuery选择器的性能特征与CSS选择器的性能特征有何不同?,jquery,css,jquery-selectors,css-selectors,Jquery,Css,Jquery Selectors,Css Selectors,昨天我偶然发现了谷歌Firebug的页面速度插件。关于使用高效CSS选择器,据说不要使用过度限定的选择器,即使用#foo而不是div#foo。我原以为后者会更快,但谷歌却不这么说,我又是谁呢 因此,我想知道jQuery选择器是否也是如此。我发现了on的链接,所以说我应该使用$(“div#foo”),这是我一直在做的,因为我认为通过限制选择器只匹配div元素,事情会加快。但是,它真的比像谷歌对CSS选择器所说的那样编写$(“#foo”)好吗?还是以不同的方式进行CSS与jQuery元素匹配,我应该
#foo
而不是div#foo
。我原以为后者会更快,但谷歌却不这么说,我又是谁呢
因此,我想知道jQuery选择器是否也是如此。我发现了on的链接,所以说我应该使用$(“div#foo”)
,这是我一直在做的,因为我认为通过限制选择器只匹配div
元素,事情会加快。但是,它真的比像谷歌对CSS选择器所说的那样编写$(“#foo”)
好吗?还是以不同的方式进行CSS与jQuery元素匹配,我应该坚持使用$(“div#foo”)
$(“#foo”)
优于$(“div#foo”)
由于id在文档中是唯一的,所以不必在其前面加上标记名
这里有一个很好的链接
Sizzle选择器引擎从右向左解析选择器
尽可能多地使用ID来提高性能。选择器越具体,Sizzle(jQuery的选择器引擎)找到该对象的速度就越快 原因:
getElementsByTagName
用于将搜索范围缩小到少数情况
但这不适用于唯一的id名称 这不也取决于浏览器吗?例如:Google chrome非常强调Javascript处理,这与此无关。当然,不同的浏览器以不同的速度执行Javascript。但是,我想知道的是,哪种方法的时间复杂度更高,不同浏览器中的执行速度没有任何相关性。谢谢。所以它是#foo而不是div#foo。该页面还提到使用div.foo而不仅仅是.foo。那么它也适用于CSS吗?