Pregunta

Es una buena práctica para adjuntar un no existente atributo a un elemento html con el fin de usarlo en jquery.Por ejemplo

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

luego, simplemente use jquery para seleccionar todos los elementos que contienen un atributo llamado valrule y análisis de la expresión de cadena.

Es este un "no-go" en la medida de como la programación de normas y mejores prácticas ir?

¿Fue útil?

Solución

Usted debe utilizar el prefijo data-<myAttribute>.Se admite HTML5, otros navegadores se ignoran y se puede acceder a ella fácilmente con jQuery usando las .data() método.

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

y usted puede recuperar esa información así :

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

Otros consejos

Utilice el prefijo de datos HTML5 para un nuevo atributo como este:

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

su html 5 válido ..

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

definitivamente puedes.Aunque HTML5 introdujo lo que se llama a los atributos de datos de , lo que permite establecer atributos no estándar a los elementos de una manera estándar.

Simplemente prefije los nombres de atributos con data-

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

Aunque, esto se introduce en HTML5, aún puede usarlo con documentos para HTML4.


usando jQuery (1.4.3+), se puede acceder a los atributos de los datos de - con .data () - o a través de .attr () .

Yo personalmente no haría eso.Algunos navegadores ignoran "no-existente" atributos al analizar HTML, por lo tanto, estos atributos no se guardan en el navegador la página de DOM.Cuando los selectores de jQuery son ejecutadas, de que no puede encontrar este atributo.

Si usted está garantizado para ejecutarse en HTML5 compatible con los navegadores, entonces usted puede utilizar HTML5 data- prefijo para sus atributos, por ejemplo,

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

Sin embargo, esto todavía no puede funcionar si se ejecuta en los navegadores más antiguos.Por ejemplo, resulta que casi la mitad de nuestros clientes están usando IE7 y no hay planes para actualizar (que se mueve con la velocidad de gobierno).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top