Muss das id-Attribut eines HTML-Elements auf der ganzen Seite eindeutig sein?

Lesezeit: 3 Minuten

Benutzeravatar von good_evening
Guten Abend

Ich verwende jQuery und frage mich nur, muss die ID auf der gesamten Seite immer eindeutig sein? Der Unterricht, ich weiß, kann beliebig oft wiederholt werden, was ist mit dem Ausweis?

  • Ein ID-Attribut wird im Allgemeinen nur einmal verwendet, da eine ID eindeutig ist

    – Ryan

    26. Februar 2012 um 16:10 Uhr

  • Sie können die Definition einer ID nicht überschreiben, wenn Sie das Gefühl haben, dass Sie dies tun könnten.

    – Narayana Nagireddi

    26. Februar 2012 um 16:21 Uhr


Benutzeravatar von FatalError
Fataler Fehler

Ja, es muss eindeutig sein.

HTML4:

https://www.w3.org/TR/html4/struct/global.html#h-7.5.2

Abschnitt 7.5.2:

ID = Name [CS]
Dieses Attribut weist einem Element einen Namen zu. Dieser Name muss in einem Dokument eindeutig sein.

HTML5:

https://www.w3.org/TR/html5/dom.html#element-attrdef-global-id

Das Attribut id gibt den eindeutigen Bezeichner (ID) seines Elements an. Der Wert muss unter allen IDs im Stammbaum des Elements eindeutig sein und mindestens ein Zeichen enthalten. Der Wert darf keine Leerzeichen enthalten.

  • unter allen IDs im Element Heimat-Teilbaum.“ Teilbaum. Ja, Unter-Baum.

    – Константин Ван

    26. Januar 2021 um 18:26 Uhr

Benutzeravatar von Константин Ван
Константин Ван

Muss eine ID eindeutig sein? auf der ganzen Seite?

NEIN.

Weil Die HTML-lebender Standard vom 15. März 2022, klar sagt:

Der class, idUnd slot Attribute können für alle angegeben werden HTML-Elemente. ……. Wenn angegeben auf HTML-ElementeDie id Attributwert muss sein einzigartig unter allen Ausweise im Element Baum und muss mindestens ein Zeichen enthalten. Der Wert darf keine enthalten ASCII-Leerzeichen.

Und eine Seite kann mehrere haben DOM-Bäume. Dies geschieht beispielsweise, wenn Sie (Element.attachShadow()) A Schatten-DOM-Baum zu einem Element.

Ein Dokumentbaum und seine zugrunde liegenden Schattenbäume


TL; DR

Muss eine ID eindeutig sein? auf der ganzen Seite?

NEIN.

Muss eine ID eindeutig sein? in einem DOM-Baum?

Ja.

Benutzeravatar von Royi Namir
Royi Namir

von mdn Geben Sie hier die Bildbeschreibung ein
https://developer.mozilla.org/en/DOM/element.id

also denke ich es ist besser…

Benutzeravatar von PandaWood
PandaWood

Technisch gesehen muss die ID nach HTML5-Standards auf der Seite eindeutig sein – https://developer.mozilla.org/en/DOM/element.id

Aber ich habe an extrem modularen Websites gearbeitet, wo das komplett ignoriert wird und es funktioniert. Und es macht Sinn – der überraschendste Teil.

Wir nennen es „Komponentisierung“

Beispielsweise könnten Sie eine Komponente auf Ihrer Seite haben, die eine Art Widget ist. Es enthält Dinge mit ihren eigenen eindeutigen IDs, z. B. “OK-Schaltfläche”.

Sobald viele dieser Widgets auf der Seite vorhanden sind, haben Sie technisch gesehen ungültiges HTML. Aber es macht durchaus Sinn komponentisieren Ihre Widgets so, dass sie jeweils intern auf ihre eigene OK-Schaltfläche verweisen, z. $widgetRoot.find("#ok-button")

Dies funktioniert für uns, obwohl IDs technisch gesehen überhaupt nicht verwendet werden sollten, wenn sie nicht eindeutig sind.

Wie oben zitiert, tut es sogar YouTube, also ist es nicht so abtrünnig.

Jan 2018, hier ist Youtube HTML , können Sie sehen id=”Schaltfläche” id=”info” werden dupliziert.

Geben Sie hier die Bildbeschreibung ein

  • Als A-priori-Beispiele für „validen Code“ sollten Sie die Ausgabe großer, dynamischer Websites kaum betrachten.

    – Bram Vanroy

    28. Mai 2021 um 10:52 Uhr

  • Abwertung. Nur weil YouTube von einer Brücke springt, heißt das nicht, dass wir das tun sollten.

    – Will Lanni

    4. Juni 2021 um 0:52 Uhr

Benutzeravatar von Bram Vanroy
Bram Vanroy

Das ist im Grunde der ganze Sinn einer ID. 🙂 IDs sind spezifisch, können nur einmal pro Seite verwendet werden. Klassen können nach Belieben genutzt werden.

  • Als A-priori-Beispiele für „validen Code“ sollten Sie die Ausgabe großer, dynamischer Websites kaum betrachten.

    – Bram Vanroy

    28. Mai 2021 um 10:52 Uhr

  • Abwertung. Nur weil YouTube von einer Brücke springt, heißt das nicht, dass wir das tun sollten.

    – Will Lanni

    4. Juni 2021 um 0:52 Uhr

Benutzeravatar von cjtech
cjtech

Früher waren Browser diesbezüglich nachsichtig (vor vielen Jahren, als CSS noch jung war) und erlaubten, dass die ID mehr als einmal verwendet wird. Sie sind strenger geworden.

Ja, IDs müssen jedoch eindeutig sein und nur einmal verwendet werden.

Wenn Sie die CSS-Formatierung mehr als einmal verwenden müssen, verwenden Sie CLASS.

1446040cookie-checkMuss das id-Attribut eines HTML-Elements auf der ganzen Seite eindeutig sein?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy