Bei der Erstellung des id
Attribute für HTML-Elemente, welche Regeln gibt es für den Wert?
Antwort
Zu viele Anzeigen?
Shashank N. Pandey
Punkte
11
Alphabete groß & klein
Ziffern 0-9
Sonderzeichen ':', '-', '_', '.'
Das Format sollte entweder mit '.' oder einem Alphabet beginnen, gefolgt von einem der Sonderzeichen mehrerer Alphabete oder Zahlen. Der Wert des Feldes id darf nicht mit einem "_" enden.
Außerdem sind Leerzeichen nicht erlaubt, und wenn sie vorhanden sind, werden sie als unterschiedliche Werte behandelt, was im Falle der id-Attribute nicht gilt.
- See previous answers
- Weitere Antworten anzeigen
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
.