2010-08-30 6 views
4

est-il considéré valide pour effectuer les opérations suivantes:Attributs dans les éléments fermant l'étiquette?

<li>stuff</li class="randomlengthclassname"> 
<li>stuff</li class="shortclassname"> 
<li>stuff</li class="reallyreallylongarseclassname"> 

ou faire l'attribut ont être dans la balise d'ouverture?

+3

Non, ce n'est pas valide. Oui, ils doivent l'être. –

Répondre

9

Non, ce n'est pas le cas. Vous devez utiliser des attributs dans la balise d'ouverture.

Courir <a>test</a href="tst.html"> dans w3c validator résultats dans cette erreur:

name start character invalid: only S separators and TAGC allowed here

Où séparateurs S et TAGC sont:

S is "whitespace" separator 

    [5] s = 

     SPACE | (32) space 
     RE | (13) CR 
     RS | (10) LF 
     SEPCHAR (9) HT 

      -- http://xml.coverpages.org/sgmlsyn/sgmlsyn.htm#C6.2.1 

    TAGC ">" 

      -- http://www.w3.org/TR/sgml.l 
2

L'attribut doit être dans la balise d'ouverture. Le code que vous avez présenté ne fonctionnerait probablement pas.

5

Ceci est et non valide, et tous les attributs doivent être définis dans la balise d'ouverture, en effet.

2

Les attributs doivent apparaître dans la balise de l'élément. Citant le W3C: On SGML and HTML Attributes:

... Attribute/value pairs appear before the final ">" of an element's start tag. Any number of (legal) attribute value pairs, separated by spaces, may appear in an element's start tag. They may appear in any order.

0

Closing tags may not contain attributes. Mais HTML4 Vous pouvez omettre la fermeture LI:

<!ELEMENT LI - O (%flow;)*    -- list item --> 
<!ATTLIST LI 
    %attrs;        -- %coreattrs, %i18n, %events -- 
    > 

Start tag: required, End tag: optional 

En XHTML, vous ne pouvez pas.

Questions connexes