Frage

Ist es sinnvoll, ein nicht vorhandenes Attribut an ein HTML-Element anzuhängen, um es in JQuery zu verwenden?Zum Beispiel

<input type="text" valrule="someregexstring" />

Verwenden Sie dann einfach JQuery, um alle Elemente auszuwählen, die ein Attribut namens „Valrule“ enthalten, und analysieren Sie die Regex-Zeichenfolge.

Ist dies im Hinblick auf Programmierstandards und Best Practices ein „No-Go“?

War es hilfreich?

Lösung

Sie sollten das Präfix verwenden data-<myAttribute>.Es wird von HTML5 unterstützt, andere Browser ignorieren es und Sie können mit jQuery problemlos darauf zugreifen .data() Methode.

<input  id="myInput" type="text" data-MySuperMassiveAttribute="Awesome"/>

und Sie können diese Informationen wie folgt abrufen:

var howAmI = $('#myInput').data('MySuperMassiveAttribute');
alert(howAmI); // now everybody knows how awesome you are ;-)

Andere Tipps

Verwenden Sie HTML5-Daten-Präfix für neues Attribut wie folgt:

generasacodicetagpre.

Sein gültiger HTML 5 ..

http://ejohn.org/blog/html-5-data-attributes/

kannst du definitiv.Obwohl HTML5 eingeführt hat, was heißt, das heißt -Daten - -attribute, sodass nicht standardmäßige Attribute auf Elemente auf Elemente einstellen kann.

Sie präfixieren Sie einfach die Attributnamen mit data-

generasacodicetagpre.

Obwohl dies in HTML5 eingeführt wird, können Sie ihn immer noch mit Dokumenten für HTML4 verwenden.


mit jQuery (1.4.3+), die Attribute -Daten - kann mit .Data () - oder über .attr () .

Ich würde das persönlich nicht tun.Einige Browsern ignorieren "nicht vorhandene" Attribute beim Analysieren von HTML. Daher werden diese Attribute nicht in der Browser-Seite dom gespeichert.Wenn JQuery-Selektoren ausgeführt werden, finden sie dieses Attribut möglicherweise nicht.

Wenn Sie garantiert in HTML5-kompatiblen Browsern ausgeführt werden, können Sie das Präfix HTML5 data- für Ihre Attribute verwenden, z. B.

generasacodicetagpre.

Dies funktioniert jedoch möglicherweise nicht, wenn Sie in älteren Browsern laufen.Zum Beispiel stellt sich heraus, dass fast die Hälfte unserer Kunden IE7 nutzt, ohne dass ein Upgrade-Pläne (Bewegen mit der Regierungsgeschwindigkeit).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top