366 votes

Un élément html peut-il avoir plusieurs identifiants?

Je comprends qu'un identifiant doit être unique dans une page HTML / XHTML.

Ma question est, pour un élément donné, puis-je lui assigner plusieurs identifiants?

 <div id="nested_element_123 task_123"></div>
 

Je me rends compte que j'ai une solution facile en utilisant simplement une classe. Je suis juste curieux d'utiliser les identifiants de cette manière.

233voto

timmow Points 1625

Pas de. À partir du XHTML 1.0 Spec

En XML, les identificateurs de fragment sont de ID de type de, et il ne peut être un seul attribut de type ID par de l'élément. Par conséquent, en XHTML 1.0 l' attribut id est définie pour être de type ID. Afin de s'assurer que XHTML 1.0 les documents sont bien structurés XML documents XHTML 1.0 documents DOIVENT utiliser l'attribut id lors de la définition de des identificateurs de fragment sur les éléments énumérés ci-dessus. Voir le code HTML La compatibilité des lignes Directrices pour informations sur la garantie de ces points d'ancrage sont rétro-compatibles au moment de servir Les documents XHTML, le type de média texte/html.

223voto

Pumbaa80 Points 27066

Contrairement à ce que tout le monde l'a dit, la réponse est OUI

Les Sélecteurs de spec est très clair à ce sujet:

Si un élément a de multiples attributs ID, tous doivent être traités comme Id de l'élément pour l'application de l'sélecteur d'ID.Une telle situation pourrait être atteint à l'aide de mélanges de xml:id, DOM3 de Base, XML, Dtd, et l'espace de noms spécifique de la connaissance.


Modifier

Juste pour clarifier: Oui, un XHTML élément peut avoir plusieurs id, par exemple

<p id="foo" xml:id="bar">

mais l'attribution de plusieurs identifiants à la même id d'attribut à l'aide d'un espace séparé de la liste n'est pas possible.

27voto

acrosman Points 7688

Pas de. Alors que la définition de w3c pour le HTML 4 ne semble pas couvrir explicitement à votre question, la définition du nom et de l'id de l'attribut dit pas d'espaces dans le code:

L'ID et le NOM de jetons doit commencer par une lettre ([A-Za-z]) et peut être suivi d'un nombre quelconque de lettres, de chiffres ([0-9]), des tirets ("-"), des traits de soulignement ("_"), deux-points ( " :") et des points (".").

25voto

Ross Points 19037

Ma compréhension a toujours été:

  • Les ID sont à usage unique et ne sont appliqués qu'à un élément

    • Ils sont utilisés pour identifier un seul élément
  • Les cours peuvent être utilisés plus d'une fois

    • Ils peuvent donc être appliqués à plus d'un élément , et plus d'une fois par élément

20voto

AmbroseChapel Points 4971

Vous ne pouvez avoir qu'un seul ID par élément, mais vous pouvez en effet avoir plusieurs classes. Mais n'ayant pas plusieurs attributs de classe, placez plusieurs valeurs de classe dans un attribut.

 <div id="foo" class="bar baz bax">
 

est parfaitement légal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X