2011-08-10 137 views
2

當聲明一個屬性值(如id="attributeValue")時,是否有特定的規則來規定哪些字符是不允許的?HTML屬性值的規則是什麼?

我一直認爲第一個字母必須是一個字母(a-z或A-Z),後面跟着幾乎任何字符。然後我意識到這是聲明PHP變量的規則

那麼聲明屬性的規則是什麼,它們對於所有屬性是相同的,例如idnamehreftype

+0

它很大程度上取決於'doctype' ...任何特定的一個? –

+0

查看HTML標準的[Attributes index](http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#attributes-1)。期望值在「值」列中定義。 –

+0

或者查看本節(HTML 4.01規範):http://www.w3.org/TR/html401/types.html#type-cdata –

回答

3

ID和名稱標記必須以字母開頭([A-ZA-Z]),並且可以是 後跟任意數量的字母,數字([0-9] ),連字符(「 - 」), 下劃線(「_」),冒號(「:」)和句點(「。」)。

http://www.w3.org/TR/html401/types.html#h-6.2

所以,你的假設是相當不錯的,但「後面幾乎任何字符」是有點樂觀。