00 Stimmen

HTML: Eigene Attribute für HTML Tags und Validierung

Frage von Compi | 22.05.2014 um 19:15

Ich würde gerne einige eigene HTML-Attribute auf meiner Website verwenden, zum Beispiel um Informationen an jQuery weiterzugeben.

Ein Beispiel dafür wäre folgendes:

<div class="infobox" infoid="100"></div>

Ich habe also zum Beispiel mehrere solcher Infoboxen und alle sind über die Klasse "infobox" mit einem OnClick-Ereignis mit jQuery verbunden. Das Skript benötigt nun aber die Information, von welcher Box der Klick stammt. Deswegen habe ich das Attribut "infoid" eingeführt, das dann bequem von jQuery ausgelesen und an das Ajax-PHP-Skript weitergegeben werden kann.

Das alles funktioniert hervorragend, allerdings validiert meine Seite damit nicht im HTML Validator. Ich bekomme immer den Fehler "Error: there is no attribute 'INFOID'".

Was kann ich also tun? Ungern würde ich auf diese einfache Möglichkeit, Daten zu übergeben verzichten.

AntwortenPositivNegativ
0Beste Antwort0 Stimmen

Um seine Seite validiert zu bekommen, dass man nur die Elemente und Attribute verwenden, die in der HTML Spezifikation definiert sind. Eigene Attribute lassen sich so nicht definieren und verwenden.

Es gibt aber in HTML5 eine Ausnahme, die für deinen Fall passend sein sollte. HTML 5 erlaubt eigene Attribute, die mit "data-" beginnen (HTML 4X nicht).

In deinem Fall könnte man es zum Beispiel so verwenden, dann wäre es valides HTML5:

<div class="infobox" data-infoid="100"></div>

Das "data-" Attribut muss mindestens aus einem Zeichen nach dem Bindestrich bestehen und sollte in Kleinbuchstaben gehalten sein. Pro HTML-Element sind mehrere verschiedene "data-"-Attribut erlaubt.

Übrigens bietet das "data-"-Attribut noch einen weiteren Vorteil im Zusammenhang mit jQuery:

$('.infobox').data('infoid');

Die Angaben in "data-" werden automatisch von jQuery geparset und können über den entsprechenden Selektor und .data() ausgewiesen werden.
22.05.2014 um 22:14

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.