2011-11-01 10 views
47

उदाहरण के लिए:क्या यह स्वयं बंद डीआईवी टैग का उपयोग करना ठीक है?

<div id="myDiv" /> 

कुछ तो इस div जावास्क्रिप्ट का उपयोग करने को भरने के लिए किए जाएंगे।

क्या यह मान्य HTML है?

+1

मैं ईमानदारी से नहीं कहूंगा। मुझे लगता है कि केवल कुछ टैग xhtml में स्वयं बंद हो सकते हैं। इनमें


, , शामिल हैं। अगर यह काम करता है तो इसका उपयोग करने में संकोच न करें। –

उत्तर

36

नहीं। HTML 4.x में स्वयं बंद टैग की कोई अवधारणा नहीं है।

यह एक्सएचटीएमएल में मान्य है।

+1

यह सही है - हम में से उन लोगों के लिए जो AngularJS या इसी तरह के ढांचे का उपयोग करते हैं, एक स्वयं बंद डीआईवी आईई 8 में एप्लिकेशन को तोड़ देगा। – Stone

+0

फिर आप आईएमजी टैग को क्या कहते हैं? –

+1

बस कुछ समय के रूप में jquery का उपयोग करने से सावधान रहें, जब आप एक निश्चित स्थान पर स्वयं-समापन टैग करते हैं तो यह सही काम नहीं करेगा। –

11

डिव वैध स्वयं बंद टैग मान्य नहीं हैं। एक खाली div करवाने के लिए यह बेहतर होगा यह करने के लिए:

<div id="myDiv"></div> 
0

नहीं, यह मान्य XML (नहीं एचटीएमएल) है, और जहाँ तक मुझे पता है, केवल अगर दस्तावेज़ एक आवेदन के साथ भेज रहा है स्वीकार किया जाएगा/एक्सएमएल माइमटाइप।

हालांकि, यह एक्सएचटीएमएल और एक्सएचटीएमएल डॉक्टरेट घोषणा के साथ काम कर सकता है।

9

XML घोषणा और XHTML 1.0 और 1.1 दस्तावेज़ परिभाषाओं के अनुसार, इस ठीक है: अशक्त अंत टैग (>) जब तुरंत रद्द अंत स्टार्ट टैग करीब (/) निम्नलिखित इस्तेमाल किया जा सकता है, और अपने कोड <div id="myDiv"></div> के बराबर है।

यह एक अलग मामला है कि क्या कोई विशेष उपभोक्ता इसे सही तरीके से संसाधित करने में सक्षम होगा।

HTML 4.01 द्वारा उपयोग की गई एसजीएमएल घोषणा टैग शॉर्टिंग की अनुमति देती है, लेकिन इसमें शून्य-अंत टैग के लिए एक अलग वाक्यविन्यास है; वहां आप <div id="abc"/this is a non-empty div/ लिख सकते हैं। फिर, माइक्रोसॉफ्ट ब्राउज़र समर्थन के लिए भिन्न हो सकता है। (मेरा पैसा "कोई नहीं" पर है।)

एचटीएमएल के भविष्य के संस्करण (एचटीएमएल 5? अगर वह नाम अभी भी जीवित है) अब एसजीएमएल भाषाओं के रूप में लागू नहीं किया गया है, और इसलिए वे आसानी से अनुमति देते हैं कि वे क्या करते हैं, बिना सहारा के एक औपचारिक व्याकरण। के रूप में ब्राउज़र द्वारा implaied XHTML में

+3

+1। हो सकता है कि एक संबंधित लिंक सहायक होगा ^।^ –

+1

@Howdy_McGee: W3C की जांच करें, उनके पास डीटीडी के साथ-साथ (HTML संस्करण के लिए एसजीएमएल घोषणा) के कई संस्करण हैं, और एक्सएमएल के लिए (अनिवार्य) एसजीएमएल घोषणा भी है। लिनक्स पर, '/ usr/share/xml' और '/ usr/share/sgml' में देखें। –

1

मैं W3C validator के माध्यम से कोड के इन दो ब्लॉकों भाग गया। अपने लिए परिणाम देखने के लिए डायरेक्ट इनपुट टैब द्वारा मान्य के तहत कोड को इनपुट में कॉपी और पेस्ट करें।

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
    <title>title</title> 
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" > 
    </head> 
    <body><div id="Mydiv" /></body> 
</html> 

संक्रमणकालीन HTML 4.01 के डॉक्टरेट के साथ कोड ब्लॉक सत्यापन प्रक्रिया में विफल रहा।

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
    <head> 
    <title>Test</title> 
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 
    </head> 
    <body><div id="Mydiv" /></body> 
</html> 

जब मैं XHTML 1.0 संक्रमणकालीन doctype कहा, सत्यापन पारित कर दिया एक आत्म बंद टैग करने के लिए मेटा टैग बदल गया है, और html xmlns लाइन में कहा,।

तो अपने प्रश्न के पहले भाग का जवाब देने के लिए, यह एक्सएचटीएमएल 1.0 संक्रमणकालीन सिद्धांत के तहत मान्य HTML है। चाहे आप इसे सही ढंग से पॉप्युलेट करने के लिए जावास्क्रिप्ट का उपयोग कर सकें या नहीं, मुझे यकीन नहीं है।

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