मैं निम्नलिखित तत्व है कहोकंसोल में ऑब्जेक्ट टेक्स्ट के रूप में किस तरह का ऑब्जेक्ट दिखाई देता है? मैं jQuery के साथ इसकी सामग्री मिल जाएगा</p> <pre><code><p id="thingy">Here is some <em>emphasized</em> text!</p> </code></pre> <p>एक Javascript कंसोल में,:
:> var theContents = $('<p id="thingy">Here is some <em>emphasized</em> text!</p>').contents();
theContents
अब एक सरणी है कि इस तरह दिखता है है
> theContents
["Here is some ", <em>emphasized</em>, " text!"]
अब तक इतना अच्छा है; यह एक सरणी प्रतीत होता है, जहां तत्व 0
और 2
स्ट्रिंग हैं, और तत्व 1
एक jQuery ऑब्जेक्ट है। मैं उत्पादन सिर्फ पहला तत्व है, यह मेरा अनुमान पुष्टि करने के लिए लगता है:
> theContents[0]
"Here is some "
हालांकि, अगर मैं एक तार के साथ यह श्रेणीबद्ध करने की कोशिश, मुझे लगता है कि मैं कुछ समझ की कमी कर रहा हूँ:
> 'Hello! ' + contents[0];
"Hello! [object Text]"
तो वह चर एक स्ट्रिंग की तरह दिखता है, लेकिन वास्तव में यह किसी प्रकार की वस्तु है। उस मामले के लिए, मध्य में jQuery ऑब्जेक्ट नियमित ऑब्जेक्ट के रूप में दिखाई नहीं देता है, या तो; यह कच्चे मार्कअप के रूप में दिखाई देता है।
Another question एक ही समस्या का संदर्भ देता है, लेकिन वास्तव में इसे स्पष्ट नहीं करता है। मैंने पाया है कि मैं अपनी वास्तविक समस्या को हल करने के लिए contents[0].textContent
का उपयोग कर सकता हूं, लेकिन यह अभी भी मुझे यह समझने में सहायता नहीं करता है कि यहां क्या हो रहा है। क्या कोई मुझे विस्तार से समझा सकता है कि यह सब किस तरह से व्यवहार कर रहा है?
+1: एक त्वरित छोटा प्रदर्शन: http://jsfiddle.net/fwysq/2/ –