我正在編寫一個HTML頁面,並注意到HTML標頭標記不完全一致。其中一些需要結束標籤,有些則不需要。爲什麼「腳本」需要結束標籤,但「元」不?
例如,script
標籤確實需要結束標籤,但meta
不需要。現在我不知道爲什麼?
我正在編寫一個HTML頁面,並注意到HTML標頭標記不完全一致。其中一些需要結束標籤,有些則不需要。爲什麼「腳本」需要結束標籤,但「元」不?
例如,script
標籤確實需要結束標籤,但meta
不需要。現在我不知道爲什麼?
我相信這是具有與當前系統是建立在製做的只是一個任意的理由...
「如果任何人的好奇,最終的原因是,HTML原本是SGML的方言,這是XML的古怪的哥哥在SGML-land中,可以在DTD中將標籤指定爲自閉(例如BR,HR,INPUT),隱式可關閉(例如P,LI,TD)或明確可關閉(例如, TABLE,DIV,SCRIPT)。XML當然沒有這個概念。「
script
標記不是空的(非封閉)標記,因爲它有時包含內容(Javascript代碼),但meta
標記從來不會。
有兩種方法可以將Javascript放入網頁中。第一種方式是包括外部文件:
<script src="path/to/my/script.js"></script>
第二種方式是把JavaScript的權利HTML文件中,就像這樣:
<script>
Javascript goes here
</script>
所以有時候,script
需要有內容。但另一方面,meta
標籤只需提供有關當前頁面的少量信息,因此一個空標籤就足夠了。
即將發佈相同回答。從技術上講,某些瀏覽器仍然可以使用自動關閉腳本標記,但使用它們是不好的做法。 – KingCronus 2012-08-15 14:43:11
http://stackoverflow.com/a/206409/362536 – Brad 2012-08-15 14:42:27
見這裏:[http://stackoverflow.com/questions/69913/why-dont-self-closing-script標籤都有效工作] [1] [1]:http://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work – Oriol 2012-08-15 14:42:31
上述鏈接都指自動關閉標籤語法(一種XML概念),而不是解釋爲什麼腳本沒有定義爲EMPTY(因此需要明確關閉)。 – Quentin 2012-08-15 14:45:29