我想知道的事情......性能jQuery中与选择
如果我需要得到内容或追加的点击功能的DIV,作为选择的结构是类似的东西:
$('body #content #sidebar .modalwindow #global-content')
我想要#全局内容,选择器的最终ID。 什么更好? 只需将它定位为$('#global-content')并按照我想要的或给它的所有路径?
我想知道的事情......性能jQuery中与选择
如果我需要得到内容或追加的点击功能的DIV,作为选择的结构是类似的东西:
$('body #content #sidebar .modalwindow #global-content')
我想要#全局内容,选择器的最终ID。 什么更好? 只需将它定位为$('#global-content')并按照我想要的或给它的所有路径?
如果你知道你的元素的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')
被equialent到$('body').find('.content')
$('body > .content')
被equialent到$('body').children('.content')
第二个是更快。
$('body .content')等于$('body')。find('。content') $('body> .content')等于$('body')。children('。内容') –
真的感谢发布它,我不知道它...... :) –
你可以尝试和试用您的选择器here
真的谢谢! –