2011-11-24 82 views
2

我正在使用jquery ui和jqgrid在我正在使用的應用程序中使用相當多。在我看到的大多數例子中,這些控件都是通過使用jquery選擇器訪問 id: $("#elementid")來查找元素的。jQuery - 性能訪問元素

我的問題是,它的jQuery提供良好的性能足以一遍又一遍地做這個或者是更好的做法,以保存對元素的引用,當他們第一次訪問: var elementName = $("#elementid");

和重用的參考呢?

回答

1

使用JQuery for ID與Javascript中的getElementById()相同。

正如你可以閱讀here使用直接引用比在DOM樹中每次搜索都快得到你的對象。

IE8的getElementById:0.4844毫秒 ,IE8 ID陣列查找:0.0062毫秒

鉻的getElementById:0.0039毫秒 ,鉻ID陣列查找:0.0006毫秒

這些是10的結果000得到。要查看基準的整個代碼,請單擊鏈接。

+0

中查看jQuery的最佳實踐variery 10.000查找的半毫秒不算作我的世界中的性能增益,但該決定完全取決於作者:) – David

+0

那麼這是數學。你對號碼的處理是我認爲的;) –

+0

對於我的目的而言,我覺得這不是什麼大問題,它可以幫助我避免亂拋我的代碼和全局變量以引用一些元素。謝謝。 – zaq

0

定義和重用變量可能速度稍快,可能被認爲是「最佳實踐」,但$('#id')映射到本地Element.getElementById這絕對是對於大多數應用足夠快。即使您對數千次查詢進行了測試,您也不會在人類頭腦中看到明顯的差異。

我想說這是編碼風格的問題。