2012-06-19 20 views

Odpowiedz

13

W HTML5 atrybut id jest global attribute i może być określona na każdy element.


Jeśli spojrzeć przez Document Type Declaration for HTML4 można znaleźć elementy, które nie mają %attrs; zdefiniowane w ich liście atrybutów, aby wskazać, że nie obsługuje atrybutu id. Zawarte są w dolnej części w sekcji "Dokument głowicy": HEAD, TITLE, BASE, META, STYLE, SCRIPT i HTML.

Należy zauważyć, że chociaż element PARAM nie zawiera deklaracji %attrs; na liście atrybutów, jawnie zezwala na to atrybutowi id na tej liście.

<!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

Od w3schools (tak, wiem ...):

Uwaga: Atrybut id nie jest ważny w: <base>, <head>, <html>, <meta>, <param>, <script>, <style> i <title>.

Należy zauważyć, że dotyczy to tylko HTML4, ale to wyjaśnia "prawie" samouczka.

Jak już inni zauważyli, HTML5 akceptuje id we wszystkich elementach.

+7

Jest to jedyna odpowiedź, którą kiedykolwiek przegłosowałem, która zawiera w3schools. –

+2

"Specyfikacja HTML5 określa, że ​​globalne atrybuty mogą być określone we wszystkich elementach HTML, nawet tych nieokreślonych w HTML5." https://developer.mozilla.org/en/HTML/Global_attributes –

+0

Rzeczy takie jak szablony jQuery (i niektóre inne szablony js) wymagają identyfikatorów w tagach '