web-dev-qa-db-fra.com

Un élément HTML peut-il avoir plusieurs attributs d'identifiant uniques?

Nécessaire pour savoir si un élément HTML peut avoir plusieurs attributs d'ID, par exemple:

<input type="text" id="identifier1" id="selector1" />

Comme j’avais besoin de clarifier cette déclaration mentionnait les sélecteurs sur le site Web de W3 .

Si un élément a plusieurs attributs d'ID, ils doivent tous être traités Comme des identifiants pour cet élément aux fins du sélecteur d'ID. Une telle situation peut être atteinte en utilisant des mélanges de xml: id et DOM3. Noyau, XML DTD et connaissances spécifiques à l’espace de noms.

Les doublons possibles auxquels les gens font référence, indique la question pour cette syntaxe

<input type="text" id="identifier1 selector1" />

qui est différent de la syntaxe que je demande.

17
Abhishek Madhani

Nécessaire pour savoir si un élément HTML peut avoir plusieurs attributs d'ID

Réponse courte? Non car le navigateur ne rendra que le premier.

Voir this Fiddle , Je ne peux le cibler qu'en CSS en utilisant la première id qui apparaît dans le DOM. Essayez de changer ce sélecteur CSS pour utiliser la seconde id, cela ne fonctionnera pas.

C'est parce qu'il semble que le navigateur ignore le deuxième identifiant, car il s'agit du code HTML de sortie:

<input type="text" id="identifier1">

Si vous avez réellement besoin d'identificateurs supplémentaires sur un élément, vous devez envisager d'utiliser plusieurs noms de classe ou attributs de données pour correspondre à des données supplémentaires.

24
mattytommo

Nécessaire pour savoir si un élément HTML peut avoir plusieurs attributs d'ID

Non. Aucun élément HTML ne peut avoir plus d'une instance d'un attribut donné.

Comme j'avais besoin de clarifier cette affirmation

Notez la dernière phrase de cette déclaration.

Notez également que l'idée CSS d'un "attribut ID" n'est pas "Un attribut nommé id". Citant également de ce document:

Les langues de document peuvent contenir des attributs déclarés comme étant de type ID

Seul l'attribut id est un type d'ID en HTML.

6
Quentin

Non, même si vous spécifiez plusieurs identifiants, le premier attribut d'identifiant rencontré est utilisé.

Doubles possibles: 

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

4
Tapan Chandra

NonIDne peut pas être identique pour les éléments HTML, mais les classes doivent être utilisées pour plusieurs éléments et un élément peut avoir plusieurs classes

1
Abuzer Firdousi

Non, car un attribut ne doit pas être répété dans tag. C'est une règle générale en HTML, qui ne se limite pas à l'attribut id. Pour les versions nominales de HTML basées sur SGML et pour XHTML, cela découle des règles générales SGML et XML. Pour HTML HTML5 sérialisé, voir HTML5 CR, 8.1.2.3 Attributs .

Il est difficile de comprendre pourquoi vous utiliseriez les attributs dupliqués id. Je ne peux donc pas suggérer de solution de contournement. En général, pour toute utilisation normale de l'attribut id, un attribut par élément est suffisant.

1
Jukka K. Korpela

Non. Les ID d'élément doivent être uniques dans tout le document.

0
Rubyist