2013-11-21 67 views
0

我有一個非常大的單個html頁面。我正在對該頁面執行數據操作。我想知道是否有任何最佳的方式爲Jquery選擇器。 像Jquery Selector性能建議?

$("#id").text("ABC"); 

以上爲我的HTML頁面標籤聲明的搜索,因爲我的HTML是非常大的。有沒有什麼性能提示?

例如:

哪一個更快?

$(document).on("click", "#contactsTab", callback); 

$("#contactsTab").on("click", callback); 
+1

這樣的「id」值搜索非常快。 – Pointy

+3

http://learn.jquery.com/performance/optimize-selectors/ – Nate

+0

您是否遇到上述問題導致您遇到麻煩的特定情況? –

回答

0

如果你打算重新使用$("#id"),我將其存儲在一個變量,然後使用它。否則,您每次都在通過DOM搜索該元素。

var $element = $("#id"); 
$element.text("ABC"); 
+0

瀏覽器實際上是這樣做的。我並不是說我不會這樣做,只要這個元素是穩定的,只是說,它可能沒有太大的差別。 –

+0

哦,真的嗎?我不知道。我觀看了Pluralsight的視頻,作者建議這樣做,特別是在循環中,所以如果我多次使用選擇器,我總是嘗試將它們存儲在變量中。雖然很高興知道! – lhan

+0

特別是在循環中,您至少可以節省:1. jQuery解析字符串(儘管沒有意外的是它爲此優化),以及2.調用DOM層。這完全沒用,我默認做,並推薦它。而在人造的,重複的測試中,它有很大的不同。但從現實的角度來看,這並不像你想象的那麼重要。 –

0

通過id搜索是最快的dom搜索。它的名義上可能更快:

document.getElementById("id").innerHTML = "ABC"; 
0

ID選擇器應該是所有jQuery選擇器性能中最優的。 理想情況下,您不應該在擁有該ID的頁面上擁有多個元素。