क्या इनके बीच गति में कोई अंतर है:

$('<div>', {id: 'bla', click: func, css: { opacity:0.5 } }

और यह सब इनलाइन कर रहे हैं?

$('<div id="bla" style="opacity:0.5"></div>').click(func);

दूसरे उदाहरण के लिए jQuery आंतरिक रूप से क्या करता है? बस .innerHTML को कॉल करें या क्या यह इसे पार्स करने का प्रयास करता है और फिर इसे ठीक वैसा ही करता है जैसा कि पहले उदाहरण में था?

2
user429620 5 अगस्त 2011, 22:13
7
स्रोत कोड खुला स्रोत है;)
 – 
Felix Kling
5 अगस्त 2011, 22:14
1
क्या आपने इसे बेंचमार्क किया? क्या आपने देखा कि jQuery आंतरिक रूप से क्या करता है?
 – 
Lightness Races in Orbit
5 अगस्त 2011, 22:16

2 जवाब

सबसे बढ़िया उत्तर

जब हम $() के इनपुट के रूप में एचटीएमएल मार्कअप पास करते हैं तो यह फ्लाई पर तत्व बनाने के लिए document.createDocumentFragment का उपयोग करता है और फिर वास्तविक तत्वों को पुनर्प्राप्त करने के लिए चाइल्डनोड्स प्रॉपर्टी का उपयोग करता है और आवश्यक ऑपरेशन करता है।

1
ShankarSangoli 6 अगस्त 2011, 04:55
क्या तुम इसके बारे में निश्चित हो? अगर यह सच है, तो आप कैसे कर सकते हैं $("<div>Test</div>").append("<div>Test</div>") नेस्टेड ऑब्जेक्ट को पूरी तरह से DOM में वापस कर दें?
 – 
pixelbobby
5 अगस्त 2011, 22:18
2
मुझे लगता है कि यह किसी भी रैपर तत्व के आंतरिक HTML के रूप में रखता है और फिर क्लिक ईवेंट को आंतरिक तत्व से जोड़ता है। यह मेरा अनुमान है, मैंने इसकी पुष्टि करने के लिए स्रोत कोड नहीं देखा है :)
 – 
ShankarSangoli
5 अगस्त 2011, 22:19
बुरा... शंकर... बुरा। आपके लिए कोई दावत नहीं।
 – 
pixelbobby
5 अगस्त 2011, 22:21
मुझे वोट देने से पहले आप लोग क्या सोचते हैं? यह मेरा अनुमान था और मैंने इसे लिख दिया। मैं हमेशा स्रोत कोड के माध्यम से जा सकता हूं और इसका पता लगा सकता हूं। और मैंने जो कुछ भी उल्लेख किया है वह समझ में आता है।
 – 
ShankarSangoli
5 अगस्त 2011, 22:23
मैंने बैलेंस करने के लिए +1 दिया है। अब, इसे एक पूर्ण उत्तर बनाने के लिए उपलब्ध कोड (और/या अन्य संदर्भ) के आधार पर परिकल्पना को साबित (या अस्वीकृत) करें। जैसा कि अभी है, यह सिर्फ एक टिप्पणी के किनारे पर है।
 – 
user166390
5 अगस्त 2011, 22:41