Re: [問題] Jquery Find的效能

看板Ajax作者 (scribe)時間15年前 (2010/10/21 14:21), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串3/4 (看更多)
※ 引述《Futurend (未來)》之銘言: : 假如說我有一個div叫做 divContent : 我今天想要找一個input,我知道他在divContent下面 : 那我有三種方法可以取得他 : 1) $('#inputId'); : 2) var $content = $('#divContent'); : $content.find('#inputId'); : 3) var $content = $('#divContent'); : $('#inputId', $content'); : 後面兩種方法的效能我猜測應該是優於第一種 : 但2跟3這兩個方法哪種效能比較好呢 : 或著有其他更好的寫法 : 請前輩指點了 其實第1種是最快的。 理由是有ID值,jQuery直接就會用document.getElementById()取得, 這是瀏覽器原生函數,速度最快。 再來jQuery的原始碼其實 $(expr, content) = $(content).find(expr), 不過前者其實還有經過許多判斷,所以後者還比較快一些些。(少一些判斷流程) 結論:1 > 2 > 3 另外推文提到的$('#divContent #inputId'),等同於 $(document).find('#divContent #inputId')。 --- 想知道真的是看jQuery釋出的未壓縮Development Source Code最快。 你會看到裡面有很多註解。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.141.43.100 ※ 編輯: scribeTW 來自: 220.141.43.100 (10/21 14:29)

10/21 15:37, , 1F
所以推文提到的速度呢?比2慢嗎?畫蛇添足?
10/21 15:37, 1F

10/21 16:34, , 2F
好像也是,有ID的話幹麼用兩層,一般都是 class name 吧
10/21 16:34, 2F

10/21 20:44, , 3F
文章代碼(AID): #1Clzllcc (Ajax)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 4 篇):
文章代碼(AID): #1Clzllcc (Ajax)