Bei der Erstellung des id
Attribute für HTML-Elemente, welche Regeln gibt es für den Wert?
Antworten
Zu viele Anzeigen?In HTML
ID sollte beginnen mit {A-Z} o {a-z} . Sie können hinzufügen Ziffern, Punkte, Bindestriche, Unterstriche und Doppelpunkte.
Zum Beispiel:
<span id="testID2"></span>
<span id="test-ID2"></span>
<span id="test_ID2"></span>
<span id="test:ID2"></span>
<span id="test.ID2"></span>
Aber auch wenn Sie die ID mit Doppelpunkten (:) oder Punkten ( .
). Es ist schwer für CSS um diese IDs als Selektor zu verwenden. Vor allem, wenn Sie Pseudo-Elemente verwenden wollen ( :before
y :after
).
Auch in JavaScript ist es schwierig, diese IDs auszuwählen. Daher sollten Sie die ersten vier IDs verwenden, wie es von vielen Entwicklern bevorzugt wird, und wenn es notwendig ist, können Sie auch die letzten beiden verwenden.
Hilfe, mein Javascript ist kaputt!
Alle sagen, dass IDs keine Duplikate sein können.
Am besten in jedem Browser außer FireFox ausprobieren
<div id="ONE"></div>
<div id="ONE"></div>
<div id="ONE"></div>
<script>
document.body.append( document.querySelectorAll("#ONE").length , ' DIVs!')
document.body.append( ' in a ', typeof ONE )
console.log( ONE );
</script>
Html-ID
Das Attribut id gibt den eindeutigen Bezeichner (ID) des Elements an.
Es gibt keine weiteren Einschränkungen hinsichtlich der Form einer ID; insbesondere können IDs nur aus Ziffern bestehen, mit einer Ziffer beginnen, mit einem Unterstrich beginnen, nur aus Satzzeichen bestehen, usw.
Der eindeutige Bezeichner eines Elements kann für eine Vielzahl von Zwecken verwendet werden, insbesondere als Möglichkeit, mithilfe von Fragmenten auf bestimmte Teile eines Dokuments zu verweisen, als Möglichkeit, ein Element bei der Skripterstellung anzusteuern, und als Möglichkeit, ein bestimmtes Element mit CSS zu gestalten.
119 Stimmen
Dies unterscheidet sich zwischen HTML5 und früheren Versionen der Spezifikation. Ich habe es hier erklärt: mathiasbynens.be/notes/html5-id-class
5 Stimmen
Mir ist aufgefallen, dass SharePoint 2010 einen Wert wie diesen - {8CC7EF38-31D8-4786-8C20-7E6D56E49AE2}-{E60CE5E2-6E64-4350-A884-654B72DA5A53} für eine dynamisch generierte Tabelle innerhalb eines Webparts zuweist und eine Seite, die einen ID-Wert dieser Art enthält, in keinem der gängigen Browser bricht. Der Umgang mit solchen ID-Werten über JavaScript ist allerdings schwierig - mvark.blogspot.in/2012/07/
4 Stimmen
HTML4- und HTML5-Anforderungen für
ID
Werte sind sehr unterschiedlich. Hier ist eine schnelle und vollständige Übersicht über HTML5ID
Regeln: stackoverflow.com/a/31773673/35972766 Stimmen
Bitte beachten Sie: Wenn Sie so vorgehen, wie es in einigen Antworten steht, und einen Punkt verwenden (
**.**)
mit jQuery wird Sie in ziemliche Schwierigkeiten bringen, zum Beispiel, wenn Sie<input id="me.name" />
y luego$("#me.name").val()
wird jQuery veranlassen, nach einer<me>
Tag mit der Klasse.name
was niemand wirklich will!3 Stimmen
@SamSwift Nein, Sie müssen nur Sonderzeichen als Die Ärzte sagen . Bitte prüfen Sie dies Online-Demo .
0 Stimmen
Ich weiß, der OP ist über die Generierung von gültigen IDs fragen (und nicht, wie man jQuery ein vorhandenes DOM), aber, @Faust's Kommentar Weg unten wird sein also nützlich für andere, die vielleicht auf die gleiche Weise gegoogelt haben wie ich. Mit seiner Technik: Ich konnte erfolgreich nach Elementen wie diesem (mit einem Leerzeichen) suchen:
<div id="Usr_order #">...
mit einer jQuery-Anweisung wie dieser:$([id='Usr_order #'])
1 Stimmen
@mvark GUIDs sind heiß, aber ich habe herausgefunden, dass mit base64 kodierte GUIDs noch heißer sind.
0dea65ca-eac3-489a-944c-0c522b609f78
wird kompakt dargestellt alsymXqDcPqmkiUTAxSK2CfeA
.