Присвоение атрибута класса элементу <head>в HTML5 - PullRequest
5 голосов
/ 03 августа 2011

В HTML 4 и XHTML 1 нельзя присвоить класс элементу <head>.Тем не менее, в XHTML 1.0 вы можете дать ему идентификатор.В HTML5 кажется, что вы можете дать ему класс.Мне любопытно, почему вы хотите?

1 Ответ

5 голосов
/ 03 августа 2011

class является одним из так называемых глобальных атрибутов (вместе с глобальными событиями). Они должны будут применяться к каждому элементу в DOM, независимо от его природы.

Я полагаю, это связано с API. Спецификация определяет каждый HTML-элемент DOM для наследования от базового интерфейса с именем 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;

С учетом вышесказанного, редактор (и) спецификации сделал следующее примечание в конце списка глобальных атрибутов / событий:

Примечание. Хотя эти атрибуты применяются ко всем элементам, они полезны не для всех элементов. Например, только медиаэлементы когда-либо получат событие volumechange, инициированное пользовательским агентом.

Итак, я полагаю, они не ожидают от вас этого, но они не могут придумать причину, чтобы это позволить, или , а не , чтобы это позволить. Это только часть API (то есть HTMLHeadElement равно HTMLElement в любом случае).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...