我想知道的事情......性能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
真的謝謝! –