2012-06-19 26 views

Respuesta

13

En HTML5, el atributo id es un global attribute y se puede especificar en cualquier elemento.


Si se mira a través de la Document Type Declaration for HTML4, se pueden encontrar los elementos que no tienen %attrs; definido en su lista de atributos para indicar que no soportan el atributo id. Los incluidos están cerca de la parte inferior en la sección "Document Head": HEAD, TITLE, BASE, META, STYLE, SCRIPT y HTML.

Tenga en cuenta que aunque el elemento PARAM no incluye la declaración %attrs; en su lista de atributos, sí permite explícitamente la id propio atributo en esa lista.

<!ATTLIST PARAM 
    id   ID    #IMPLIED -- document-wide unique id -- 
    name  CDATA   #REQUIRED -- property name -- 
    value  CDATA   #IMPLIED -- property value -- 
    valuetype (DATA|REF|OBJECT) DATA -- How to interpret value -- 
    type  %ContentType; #IMPLIED -- content type for value 
             when valuetype=ref -- 
    > 
14

De w3schools (sí, lo sé ...):

Nota: El atributo id no es válida en: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, y <title>.

Tenga en cuenta que esto solo es válido para HTML4 pero eso explica el "casi" del tutorial.

Como han señalado otros, HTML5 acepta la identificación en todos los elementos.

+7

Esta es la única respuesta que he votado anteriormente que contiene w3schools. –

+2

"La especificación HTML5 establece que los atributos globales se pueden especificar en todos los elementos HTML, incluso aquellos que no especifique HTML5". https://developer.mozilla.org/en/HTML/Global_attributes –

+0

Cosas como las plantillas jQuery (y algunas otras soluciones de plantillas js) requieren que los ID estén en las etiquetas '