44

Ich möchte einige benutzerdefinierte Daten mit einigen HTML-Knoten verknüpfen. Ich wollte die neuen HTML5-Attribute 'data- *' verwenden. Beispiel: <tr class="foo" data-typeid="7">…, und dann wollte ich diesen HTML-Knoten auswählen und ihn anzeigen/verstecken usw., indem ich den Wert mit $(node).attr("data-typeid") lese.Gibt es ein Problem bei der Verwendung der HTML5-Attribute "data- *" für ältere Browser?

Allerdings muss diese Webseite auch mit älteren Browsern funktionieren. Ich verwende das Attribut data- * nicht als spezielles Attribut, aber ich würde gerne wissen, ob ältere Browser dieses Attribut ignorieren, löschen oder unzugänglich machen, da es kein gültiges HTML4 ist.

+0

mögliche Duplikate von [funktionieren benutzerdefinierte HTML-Datenattribute in IE 6?] (Http://stackoverflow.com/questions/2412947/do-html5-custom-data-attributes-work-in-ie-6) –

Antwort

53

Es gibt nicht wirklich, sie sind nicht 100% richtig/gültige Verwendung in HTML4 natürlich .... aber sie verursachen keine Probleme, so sind sie immer noch eine gute Möglichkeit, die zu lösen "Ich brauche ein Attribut für dieses" Problem.

Wenn es hilft, habe ich diese bei der Unterstützung von IE6 verwendet und hatte bis jetzt null Probleme, und ich kann mich nicht erinnern, eine einzelne SO-Frage keine.

+5

HTML5 wurde entwickelt, um so weit wie möglich mit dem vorhandenen Browserverhalten zu arbeiten. Datenattribute sind einer der netten Orte, wie der HTML5-Doctype, wo das ohne viele Schluckauf zu passieren scheint. –

+1

Es scheint, dass Sie Datentypen mit jquery nicht verwenden können, indem Sie den XHTML 1.0 Transitional Doctype mit IE 8 und darunter verwenden. – codeadventurer

10

Internet Explorer und Microsoft hat mehrere benutzerdefinierte Attribute hinzugefügt, die HTML4 nicht gültig sind. Browser überprüfen nicht die Elementattribute gegen eine Spezifikation, Sie können ein Attribut roryscoolinfo="hello" benennen, wenn Sie mögen (obwohl Sie nicht sollten).

Das Dojo-Toolkit fügt seine benutzerdefinierten dojo*-Attribute hinzu.

Es ist in Ordnung, heute data- mit einem HTML5 Doctype zu verwenden.