2012-05-15 9 views
9

JQuery ile atalardan belirli çocukları seçmek için en iyi (en verimli, daha az CPU yükleme) yolu nedir?jQuery birinci düzey çocuk seçici en iyi şekilde

o zaman kalan bulunduğunu varsayalım:

<div> 
<b>1</b> 
<p>2</p> 
<a>3</a> 
<p>2</p> 
</div> 

Yani

$('div > p')

veya

$('div').children('p')

?

+2

bunu kıyaslama denediniz içine p elemanını bulmak için? –

cevap

10

Bu jsPerf test'a göre yeni oluşturduğumda $('div > p') iki kat daha hızlı. İki seçicinin geri döndükleri elemanlarda farklı olduğunu düşünmüyorum, bu yüzden en azından bir performans açısından daha çok arzu edilebilir.

+0

Test için teşekkürler. Çok kullanışlı. –

+0

Endişelenmeyin, jsPerf'e eklediğinizden emin olun, JavaScript kodunu karşılaştırmak için bir kırılma aracıdır. –

1

$('div > p') Eğer seçici bulmak için dom bir kez ayrıştırma ediyoruz bu biriyle

bu durum için daha iyi ve daha hızlı. Diğer durumda

onu iki kere ayrıştırma ediyoruz: Bir div öğesi bulmak ve bir div