html - When objects (e.g. img tag) is created by javascript, it doesn't have the closing tag. How do I make it W3C valid? -
छवि टैग ( & lt; img src = "" alt = "" / & gt;
), लाइन ब्रेक टैग्स ( & lt; br / & gt;
), या क्षैतिज नियम टैग ( & lt; hr / & gt;
) बंद टैग हालांकि, जब ये ऑब्जेक्ट जावास्क्रिप्ट द्वारा बनाए जाते हैं, और मैं स्रोत में देखता हूं, तो उनके पास स्लैश नहीं है, जिससे उन्हें W3C मानकों द्वारा अमान्य कर दिया जाता है।
मैं इस समस्या को कैसे प्राप्त करूं?
(मैं जावास्क्रिप्ट प्रोटोटाइप लाइब्रेरी का उपयोग करता हूं)
आप कैसे देख रहे हैं ' स्रोत '? जावास्क्रिप्ट निर्मित तत्व 'देखें स्रोत' में दिखाई नहीं देते क्या आप आंतरिक एचटीएमएल
के बारे में बात कर रहे हैं?
यदि ऐसा है तो क्या हो रहा है दस्तावेज़ में डोम नोड्स का वेब ब्राउजर का सीरियलाइजेशन है किसी ब्राउज़र में किसी पृष्ठ का HTML मार्कअप दस्तावेज़ स्टेट के लिए निश्चित स्टोर नहीं है। दस्तावेज़ को नोड
वस्तुओं के भार के रूप में संग्रहित किया जाता है; जब इन ऑब्जेक्ट्स को मार्कअप पर वापस क्रमबद्ध किया जाता है, तो वह मार्कअप मूल HTML पृष्ठ मार्कअप की तरह नहीं दिखता, जिसे दस्तावेज़ प्राप्त करने के लिए पार्स किया गया था।
इस प्रकार चाहे:
< कोड> & lt; img src = "x" alt = "y" / & gt; & Lt; img src = "x" alt = "y" & gt; & Lt; img alt = "y" src = "x" & gt; Img = document.createElement ('img'); Img.src = 'x'; Img.alt = 'y';
आप HTMLImageElement
नोड बनाने के लिए उपयोग करते हैं, जब आप इसे innerHTML
का उपयोग करके क्रमबद्ध करते हैं तो ब्राउज़र आमतौर पर एक ही HTML मार्कअप उत्पन्न करेगा। < / P>
यदि ब्राउज़र मूल-एक्सएमएल मोड में है (यानी क्योंकि पृष्ठ को application / xhtml + html
के रूप में सेवा दी गई थी), तब innerHTML
मान निश्चित रूप से & lt; img / & gt;
जैसे स्वयं-समापन सिंटैक्स होते हैं (आप अन्य एक्सएमएल सामान भी जैसे कुछ ब्राउज़रों में भी देख सकते हैं।)
हालांकि, आज जितनी अधिक संभावना है, आप मीडिया प्रकार के तहत 'एचटीएमएल-संगत एक्सएचटीएमएल' की सेवा कर रहे हैं टेक्स्ट / html
, ब्राउज़र वास्तव में एक्सएचटीएमएल का उपयोग नहीं कर रहा है, इसलिए जब आप innerHTML
पर पहुंचते हैं तो आपको पुरानी-स्कूल-एचटीएमएल मिलेगी और आप स्वयं समापन नहीं देखेंगे / & gt;
फ़ॉर्म
Comments
Post a Comment