Bu jsPerf testi find () işlevinin daha hızlı olduğunu gösterir. Daha kapsamlı bir test oluşturdum ve hala find () çocuklardan () daha iyi performans gösteriyor gibi görünüyor.
Güncelleme: Tvanfosson'un yorumuna göre, 16 yuvalama seviyesine sahip başka bir test durumu oluşturdum . find () yalnızca tüm olası div'ları bulurken daha yavaştır, ancak find (), div'in ilk seviyesini seçerken hala çocuklardan () daha iyi performans gösterir.
100'den fazla iç içe yerleştirme seviyesi ve find () 'ın geçmesi için yaklaşık 4000+ div olduğunda çocuklar () find ()' den daha iyi performans göstermeye başlar. Bu ilkel bir test örneğidir, ancak yine de find () işlevinin çoğu durumda çocuklardan () daha hızlı olduğunu düşünüyorum.
Chrome Geliştirici Araçları'ndaki jQuery kodundan geçtim ve children () dahili olarak sibling (), filter () çağrıları yaptığını ve find () 'den daha fazla regexes geçtiğini fark ettim.
find () ve children () farklı ihtiyaçları karşılar, ancak find () ve children () 'ın aynı sonucu vereceği durumlarda find () kullanmanızı öneririm.
.find()
ve.children()
aynı değil. İkincisi, DOM'da bir alt seçici gibi yalnızca tek bir seviye hareket eder.