2010-11-03 36 views
2

ID屬性值可以以數字開頭嗎?HTML和XHTML ID屬性問題

+0

爲什麼不嘗試自己呢?結果如何? – 2010-11-03 04:59:28

+0

我打算髮表一篇關於只編寫一個基本的HTML/XHTML頁面並在W3C上自己驗證的評論,但後來我意識到並不是每個人都知道W3C驗證器。所以繼承人的鏈接:) http://validator.w3.org/ – 2010-11-03 05:06:06

回答

0

當前接受的答案實際上是不正確的。

所有瀏覽器一直支持以數字開頭的ID屬性,而HTML5現在允許它。見http://mathiasbynens.be/notes/html5-id-class

的HTML 4.01規範 statesID 令牌必須以字母([A-Za-z])開始,可以跟隨 任意數量的字母,數字([0-9]),連字符(-),強調 (_),冒號(:)和句點(.)。對於class屬性, 沒有這樣的限制。類別名稱可以包含任意字符, 並且它們不必以字母開頭纔有效。

HTML5擺脫了the id attribute的額外限制。 剩下的唯一要求 - 除了在文檔中是唯一的 - 是值必須至少包含一個字符(不能是 爲空),並且它不能包含任何空格字符。

請注意,如果您想在CSS或JavaScript中使用它,則需要正確地轉義ID屬性值。見http://mothereffingcssescapes.com/#123-foo

+0

這個問題被標記爲HTML(標籤爲4.01)。雖然許多供應商實現了額外的功能,但爲了編寫可移植的應用程序,開發人員應該堅持規範,除非有供應商特定的解決方法(例如'-moz' /'-webkit' CSS前綴)。 – Phil 2011-10-24 22:52:29

+0

@Phil 1)它說HTML標記僅用於HTML 4.01?那太荒謬了。 2)你看過我的回答了嗎?這是HTML5中唯一的原因是因爲所有瀏覽器一直支持這種方式。如果你願意,沒有理由不使用它。 – 2011-10-26 07:44:24

+0

'html'標籤爲4.01(查看[標籤頁](http://stackoverflow.com/tags/html/info))。有一個['html5']的具體標籤(http://stackoverflow.com/tags/html5/info) – Phil 2011-10-26 11:57:05