2011-08-03 12 views
5

HTML 4およびXHTML 1では、<head>要素にクラスを割り当てることはできません。しかし、XHTML 1.0ではIDを与えることができます。 HTML5では、クラスに与えることができるようです。私は好奇心が強い、なぜあなたはしたいだろうか?HTML5の<head>要素へのクラス属性の割り当て

+1

これは何よりも意味解析のためのものだと思います。 –

+1

他に言及したように、それを禁止する本当の理由はありません。 CSSを使って ''のような隠し要素を見えるようにすることができます(http://mathiasbynens.be/notes/css-hidden-elements)(ただし、 'class'や' id'属性を追加する必要はありませんそれに)。 –

答えて

5

classは現在、グローバルイベントとともにglobal attributesと呼ばれるものの1つです。その性質にかかわらず、DOM内のすべての要素に適用する必要があります。

私はそれがAPIに関連していると信じています。この仕様では、上記のグローバル属性とイベントを定義するHTMLElementという基本インターフェースから継承することをevery DOM HTML elementと定義しています。すなわち:そうは言って

interface HTMLElement : Element { 

    // ... 

    // metadata attributes 
      attribute DOMString id; 
      attribute DOMString title; 
      attribute DOMString lang; 
      attribute DOMString dir; 
      attribute DOMString className; 
    readonly attribute DOMTokenList classList; 
    readonly attribute DOMStringMap dataset; 

、スペックの編集者(複数可)グローバル属性/イベントのリストの末尾に次の注意を行いました:

注:これらの属性が適用されますがすべての要素に対して有用ではありません。たとえば、media elementsだけがユーザエージェントによって起動されたvolumechangeイベントを受信します。

だから私は、彼らがあなたを期待していないと仮定し、彼らはどちらもそれかないはそれを許可することを可能にする理由を考えることはできません。 APIの一部に過ぎません(つまり、HTMLHeadElementとなりますが、とにかくHTMLElement)。

+0

+1は非常に素晴らしい技術的な答えです。そう、ええ、なぜあなたは ''のクラスを使いたいのですか? –

+0

私の編集で私の最後の文を殺したようです。 – BoltClock

+0

興味深いことに、存在しない言語のヒント '<! - language:lang-idl - >'を追加し、ハイライトの構文はC#を使用していると考えます。 – BoltClock

関連する問題