2011-08-03 13 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(与全球事件一起)之一。无论其性质如何,它们都必须应用于DOM中的每个元素。

我相信它与API有关。该规范定义了every DOM HTML element从称为HTMLElement的基本接口继承,该接口定义了前述的全局属性和事件。即:

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; 

随着中说,该规范的编辑器(S)没做如下说明在全局属性/事件列表的末尾:

注:尽管这些属性适用对所有元素而言,它们对所有元素都没有用处。例如,只有media elements会收到用户代理触发的volumechange事件。

所以我想他们不指望你,但他们既不能想出一个理由允许它或允许它。它只是API的一部分(即无论如何,HTMLHeadElementHTMLElement)。

+0

+1非常好的技术答案。所以,是啊,为什么你会想要在''上使用课程? –

+0

似乎我在编辑中杀掉了我的最后一句话。 – BoltClock

+0

有趣的是,我添加了一个不存在的语言提示'<! - language:lang-idl - >'并且语法突出显示器认为我正在使用C#。 – BoltClock

相关问题