2012-09-26 6 views
7

¿Cómo fuerza un valor de texto en un atributo de datos html 5 al acceder a él en js?cómo forzar un valor de cadena en html 5 atributos 'datos'

Tengo una aplicación global con una línea similar de html:

<div class="slider" data-max="125" data-cost="10000" data-costtext="10.000"> 

el '' en el texto, el valor de costo es exacto para algunos idiomas. Al acceder a este valor a través de jQuery js

$("div.slider","body").data("costtext") 

que se pondrá en 10.

es una re-escribir mi única opción ?, así:

<div class="slider" data-obj='{"max":125,"cost":10000,"costtext":"10.000"}'> 

Respuesta

15

Uso attr("data-x") para acceder al valor y que tendrá una String.

jQuery intenta deducir el tipo y convertirlo automáticamente de String cuando usa data().

se hará todo lo posible para convertir la cadena en un valor JavaScript (esto incluye booleanos, números, objetos, matrices y nula) de lo contrario se deja como una cadena. Para recuperar el atributo del valor como una cadena sin ningún intento de convertirlo, utilice el método attr().

Source.

+0

excelente opción. me ahorra una reescritura de muchos otros códigos, sin ensuciarme demasiado. – DefyGravity

Cuestiones relacionadas