2013-07-13 7 views
14

मेरे पास यहां एक jsfiddle है - http://jsfiddle.net/stevea/QpNbu/3/ - जो सभी तत्वों के लिए class='active' एकत्र करता है।बाहरी HTML क्यों <!-​- --> टिप्पणियां वापस लाता है?

<!--  <div>'Some inner text'</div> --> 

outerHTML अभी भी इसे वापस लाता है: क्या मुझे आश्चर्य होता है, भले ही मैं में HTML के रूप में से कुछ, बाहर टिप्पणी कि है! यह अभी भी डोम में नहीं हो सकता है इसलिए मैं सोच रहा हूं कि outerHTML देख रहा है।

किसी भी अंतर्दृष्टि के लिए धन्यवाद।

+2

आंतरिक HTML एक ही चीज़ करेगा – smerny

उत्तर

18

एचटीएमएल में टिप्पणियां आश्चर्यजनक रूप से, वास्तव में, डोम का हिस्सा हैं! आप इस स्क्रीन शॉट यहाँ में देखें, तो:

web inspector

आप गूगल क्रोम वेब निरीक्षक डोम के भाग के रूप में यह renders देखेंगे (ध्यान दें कि किस तल बार के साथ div#box1.active के एक बच्चे के रूप में यह पता चलता है।)

अधिक ठोस प्रलेखन के लिए, यदि आप डोम के लिए संभव Node.nodeType रों को देखने के नोड on MDN, आप देखेंगे कि COMMENT_NODE वैध प्रकारों में से एक है।

COMMENT_NODE 8

W3 भी डोम के लिए टिप्पणी इंटरफेस को परिभाषित करता:

यह इंटरफ़ेस CharacterData से विरासत और एक टिप्पणी की सामग्री का प्रतिनिधित्व करता है, यानी, सभी पात्रों शुरुआती '<! -' और समाप्त '->' के बीच। ध्यान दें कि यह एक्सएमएल में एक टिप्पणी की परिभाषा है, और, व्यावहारिक रूप से, एचटीएमएल, हालांकि कुछ एचटीएमएल उपकरण पूर्ण एसजीएमएल टिप्पणी संरचना को लागू कर सकते हैं।

+3

आश्चर्य की बात है? यदि दस्तावेज़ छोड़ दिया जाता है तो यह दस्तावेज़ का पूरा मॉडल शायद ही नहीं होगा। –

+0

@ChrisMorgan मेरे बुरे, निश्चित – Zhanger

+2

यह मेरे लिए आश्चर्यजनक था, और स्पष्ट रूप से उत्तर देने वाले सभी उपवासों से निर्णय लेने वाले कई अन्य लोगों के लिए। – Steve

2

एचटीएमएल टिप्पणियां डीओएम का हिस्सा हैं, उन्हें बस प्रदर्शन के लिए ब्राउज़र द्वारा अनदेखा किया जाता है।

+0

यह कुछ हद तक विरोधाभासी है - ब्राउज़र डोम बनाता है; अगर वे डोम में हैं, तो वे स्पष्ट रूप से * ब्राउज़र द्वारा अनदेखा नहीं किए गए थे। – icktoofay

+2

मुझे लगता है कि आपका मतलब है "प्रदर्शन * के लिए ब्राउज़र * द्वारा अनदेखा करें।" –

+0

@ क्रिस मॉर्गन यही मेरा मतलब था। मैंने जवाब अपडेट कर लिया है। –

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