Domanda

È una buona pratica per allegare un attributo non esistente a un elemento HTML per usarlo in jQuery.Ad esempio

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

Quindi utilizzare semplicemente jQuery per selezionare tutti gli elementi che contengono un attributo chiamato Valrule e analizza la stringa di regex.

è questo un 'no-go' per quanto riguarda gli standard di programmazione e le migliori pratiche?

È stato utile?

Soluzione

Dovresti usare il prefisso data-<myAttribute>.È supportato da HTML5, altri browser lo ignoreranno e puoi accedervi facilmente con JQuery utilizzando il metodo .data().

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

E puoi recuperare tali informazioni come SO:

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

Altri suggerimenti

Utilizzare il prefisso dati HTML5 per un nuovo attributo come questo:

<input type="text" data-valrule="someregexstring" />
.

è valido HTML 5 ..

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

è sicuramente possibile.Sebbene HTML5 abbia introdotto ciò che viene chiamato dati - attributi, consentendo di impostare attributi non standard agli elementi in modo standard.

Si prega di prefisso semplicemente i nomi degli attributi con data-

<input type="text" data-valrule="someregexstring" />
.

Sebbene, questo viene introdotto in HTML5, è comunque possibile utilizzarlo con documenti per HTML4.


.

Utilizzo di jQuery (1.4.3+), i dati - Attributi sono accessibili con .Data () - o via .ATTR () .

personalmente non lo farei.Alcuni browser ignorano gli attributi "non esistenti" quando si analizzano HTML, quindi questi attributi non sarebbero stati salvati nella pagina del browser Dom.Quando vengono eseguiti i selettori JQuery, potrebbero non trovare questo attributo.

Se si è garantita di eseguire i browser conformi a HTML5, è possibile utilizzare il prefisso data- HTML5 per i tuoi attributi, ad esempio.

<input type="text" data-valrule="someregexstring" />
.

Comunque questo ancora potrebbe non funzionare se si esegue in browser precedenti.Ad esempio, si scopre che quasi la metà dei nostri clienti utilizza IE7 senza piani per l'aggiornamento (spostando con la velocità del governo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top