मैंने पहला बच्चा पाने के लिए अलग-अलग तरीकों से गति अंतर को देखने के लिए jsperf टेस्ट जोड़ा है (कुल 1000+ बच्चे)
दिया हुआ, notif = $('#foo')
jQuery के तरीके:
$(":first-child", notif)
- 4,304 ऑप्स / सेक - सबसे तेज
notif.children(":first")
- 653 ऑप्स / सेकंड - 85% धीमा
notif.children()[0]
- 1,416 ऑप्स / सेक - 67% धीमा
देशी तरीके:
- जावास्क्रिप्ट देशी '
ele.firstChild
- 4,934,323 ops / sec (उपरोक्त सभी दृष्टिकोण 100% की तुलना में धीमे हैं firstChild
)
- JQery से मूल डोम ग्यारह :
notif[0].firstChild
- 4,913,658 op / sec
तो, पहले 3 jQuery के दृष्टिकोणों की सिफारिश नहीं की जाती है, कम से कम पहले बच्चे के लिए (मुझे संदेह है कि कई अन्य लोगों के साथ भी ऐसा ही होगा)। यदि आपके पास एक jQuery ऑब्जेक्ट है और पहले बच्चे को प्राप्त करने की आवश्यकता है, तो jQuery ऑब्जेक्ट से मूल डोम तत्व प्राप्त करें, सरणी संदर्भ [0]
(अनुशंसित).get(0)
का उपयोग करके या का उपयोग करें ele.firstChild
। यह नियमित जावास्क्रिप्ट उपयोग के समान परिणाम देता है।
सभी परीक्षण क्रोम कैनरी बिल्ड v15.0.854.0 में किए गए हैं