İlk çocuğu almak için farklı yaklaşımların hız farkını görmek için jsperf testi ekledim (toplam 1000+ çocuk)
göz önüne alındığında, notif = $('#foo')
jQuery yolları:
$(":first-child", notif) - 4.304 ops / sn - en hızlı
notif.children(":first") - 653 ops / sn -% 85 daha yavaş
notif.children()[0] - 1.416 ops / sn -% 67 daha yavaş
Yerel yollar:
- JavaScript yerel '
ele.firstChild- 4.934.323 ops / sn (yukarıdaki tüm yaklaşımlara kıyasla% 100 daha yavaş firstChild)
- JQery'den yerel DOM ele:
notif[0].firstChild- 4.913.658 ops / sn
Bu nedenle, en azından ilk çocuk için ilk 3 jQuery yaklaşımı önerilmemektedir (başka birçok durumda da böyle olacağını sanmıyorum). Eğer ilk çocuğu almak için bir jQuery nesnesi ve ihtiyaç varsa, o yerli DOM öğesi almak dizisi referans kullanarak, jQuery nesneden [0] (önerilir) veya .get(0)ve kullanımı ele.firstChild. Bu, normal JavaScript kullanımıyla aynı sonuçları verir.
tüm testler Chrome Canary sürüm v15.0.854.0'da yapılır