Javascript 使用选择器在jQuery中的性能

Javascript 使用选择器在jQuery中的性能,javascript,jquery,Javascript,Jquery,我在想事情 如果我需要获取内容或向div附加一个click函数,选择器的结构如下: $('body #content #sidebar .modalwindow #global-content') 我想要定位全局内容,选择器的最终id。 有什么更好的? 只需将其定位为$'global-content',然后做我想做的事情,或者在所有路径中为其提供帮助?如果您知道元素的id,并且您的id确实是唯一的,那么它应该是唯一的。直接调用id>$'global-content'会更快 因此,jquery将

我在想事情

如果我需要获取内容或向div附加一个click函数,选择器的结构如下:

$('body #content #sidebar .modalwindow #global-content')
我想要定位全局内容,选择器的最终id。 有什么更好的? 只需将其定位为$'global-content',然后做我想做的事情,或者在所有路径中为其提供帮助?

如果您知道元素的id,并且您的id确实是唯一的,那么它应该是唯一的。直接调用id>$'global-content'会更快

因此,jquery将其解释为最快的选择器getElementById之一,而不是过滤DOM

注意:我知道jquery 1.5和更高版本可能是因为1.4被优化为按id选择,即使jquery代码添加了太多信息,但这不是依靠框架纠正错误编码的最佳方法,如果您知道元素的id,并且您的id确实是唯一的。直接调用id>$'global-content'会更快

因此,jquery将其解释为最快的选择器getElementById之一,而不是过滤DOM


注意:我知道jquery 1.5和更高版本可能是因为1.4被优化为按id选择,即使jquery代码添加了太多的信息,但这不是依靠框架纠正错误编码的最佳方法。

$global-content'是最佳选择,尽管如果jQuery从右向左启动,整个选择器的执行方式可能是相同的,但我不确定它是否会这样做。ID应该是唯一的,getElementById是最快的本机浏览器方法,因此$'global-content'是最快的选择器

还请记住,当您在DOM树中搜索正好低一级的内容时,可以将>放在选择器中。例如:


$'body.content'与$'body.find.content'相等

$'body>.content'与$'body.children.content'相等


第二个更快。

$'global-content'是最好的选择器,尽管如果jQuery从右向左启动,整个选择器可能会以相同的方式执行,但我不确定它是否会这样做。ID应该是唯一的,getElementById是最快的本机浏览器方法,因此$'global-content'是最快的选择器

还请记住,当您在DOM树中搜索正好低一级的内容时,可以将>放在选择器中。例如:


$'body.content'与$'body.find.content'相等

$'body>.content'与$'body.children.content'相等


第二个更快。

一个类似的问题被问到

答案是

$‘全球内容’


更快吗

一个类似的问题在

答案是

$‘全球内容’


更快

您可以试验并试用您的选择器

您可以试验并试用您的选择器

$'body.content'与$'body.find.相等。content'$'body>.content'与$'body.children.相等。content'$'body.content'与$'body.相等。find.content'$'body>.content'与$'body.相等$body.children.content'