Benutzerdefinierte Datenattribute: Ссылка
Wenn ich "Arbeit" sage, meine ich, wenn ich HTML so habe:
%Vor%wird das folgende JavaScript:
%Vor%erzeugt in IE 6 eine Warnung mit "geoff de geoff" drin?
Sie können Werte von benutzerdefinierten (oder eigenen) Attributen mit getAttribute
abrufen. Folgen Sie Ihrem Beispiel mit
Ich kann den Wert von data-geoff
mit
Siehe MSDN . Und obwohl es dort erwähnt wird, dass Sie IE7 benötigen, um dies zu arbeiten, habe ich dies vor einiger Zeit mit IE6 getestet und es funktionierte korrekt (auch im Quirks-Modus).
Aber das hat natürlich nichts mit HTML5-spezifischen Attributen zu tun.
Ja, sie funktionieren.
IE hat getAttribute()
von IE4 unterstützt, was jQuery intern für data()
verwendet.
Sie können also entweder die Methode .data()
von jQuery oder die JavaScript-Funktion plain vanilla verwenden:
Beispiel-HTML
%Vor%JavaScript
%Vor%jQuery
%Vor%IE6 unterstützt nicht nur das HTML5-Datenattribut-Feature, sondern tatsächlich kein aktueller Browser unterstützt sie! Die einzige Ausnahme im Moment ist Chrome.
Sie können absolut data-geoff="geoff de geoff"
als Attribut verwenden, aber nur Chrome der aktuellen Browser-Versionen gibt Ihnen die .dataGeoff
-Eigenschaft.
Glücklicherweise können alle aktuellen Browser - einschließlich IE6 - unbekannte Attribute mit der Standardmethode DOM .getAttribute()
referenzieren, so dass .getAttribute("data-geoff")
überall funktioniert.
In sehr naher Zukunft werden neue Versionen von Firefox und Safari anfangen, die Datenattribute zu unterstützen, aber da es einen vollkommen guten Zugang gibt, der in allen Browsern funktioniert, gibt es wirklich keinen Grund, den HTML5 zu verwenden Methode, die nur für einige Ihrer Besucher funktioniert.
Sie können mehr über den aktuellen Stand der Unterstützung für diese Funktion unter CanIUse.com erfahren.
Ich hoffe, das hilft.
Ich denke, IE hat dies immer unterstützt (zumindest ab IE4) und Sie können von JS auf sie zugreifen. Sie wurden Expando-Eigenschaften genannt. Siehe alter MSDN-Artikel
Dieses Verhalten kann deaktiviert werden, indem die expando -Eigenschaft für ein DOM-Element auf false gesetzt wird (standardmäßig ist dies der Fall, sodass die Eigenschaften expando standardmäßig funktionieren).
Bearbeiten: Die URL wurde korrigiert
Wenn Sie alle benutzerdefinierten Datenattribute auf einmal wie die Dataset-Eigenschaft in neueren Browsern abrufen möchten, können Sie Folgendes tun. Das ist, was ich in ie7 + gemacht habe und gut für mich funktioniert.
%Vor%In IE6 funktioniert es möglicherweise nicht. Zur Referenz: MSDN
Ich schlage vor, jQuery für die meisten Fälle zu verwenden:
%Vor%Versuchen Sie dies in Ihrer Codierung.
Tags und Links javascript internet-explorer html5 custom-data-attribute internet-explorer-6