2012-05-15 6 views
9

jQuery के साथ पूर्वजों से कुछ बच्चों का चयन करने के लिए सबसे अच्छा (सबसे उत्पादक, कम CPU-loading) तरीका क्या है?jQuery प्रथम स्तर के बच्चों का चयनकर्ता सबसे अच्छा तरीका

की कल्पना है कि हम करते हैं:

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

तो

$('div > p')

या

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

?

+2

आप इसे बेंचमार्किंग की कोशिश की है में पी तत्व को खोजने के लिए एक div तत्व को खोजने के लिए और एक:

अन्य मामले में

आप दो बार यह पार्स करने जा रहे हैं? –

उत्तर

10

इस jsPerf test के अनुसार मैंने अभी बनाया है $('div > p') लगभग दोगुना तेज़ है। मुझे नहीं लगता कि दो चयनकर्ता उन तत्वों में भिन्न होते हैं जो वे वापस प्राप्त करते हैं, इसलिए कम से कम एक प्रदर्शन बिंदु से कम से कम वांछनीय हो सकता है।

+0

परीक्षण के लिए धन्यवाद। बहुत उपयोगी। –

+0

कोई चिंता नहीं, jsPerf को बुकमार्क करना सुनिश्चित करें, यह जावास्क्रिप्ट कोड बेंचमार्क करने के लिए एक क्रैकिंग टूल है। –

1

$('div > p') बेहतर और तेज इस मामले के लिए यह एक आप डोम एक बार अपने चयनकर्ता खोजने के लिए पार्स करने कर रहे हैं के साथ

है। div

संबंधित मुद्दे