tiene - obtener atributo javascript
Establecer un valor dinĂ¡micamente para atributos de datos utilizando jquery (3)
Creo que las respuestas anteriores solo establecerían el objeto de datos en ese elemento dentro de jQuery.
Si necesita establecer el atributo de datos HTML reales *, deberá usar esto:
$(this).attr("data-class_value", "new value");
Tenga cuidado de recuperar los atributos de datos de HTML5 de esta manera también, aunque puede usar el acceso directo $(this).data("class_value");
para recuperarlos, las recuperaciones posteriores utilizarán el valor almacenado en caché en el objeto de datos jQuery.
De los documentos de jQuery :
Los atributos de datos se extraen la primera vez que se accede a la propiedad de datos y luego ya no se accede ni se muta (todos los valores de datos se almacenan internamente en jQuery).
Uso extensivamente los atributos de datos para administrar datos en eventos del lado del cliente. ¿Es posible asignar valor dinámicamente a un atributo de datos usando javascript o jquery?
<li data-class_value="somevalue" class="myclass"></li>
$(''.myclass'').click(function(){
$(this).data(''class_value'') = "new value";
});
El código javascript anterior arroja el error:
"Error de referencia no capturado: lado izquierdo no válido en la asignación".
¿Podría alguien decirme cómo se puede lograr esto?
Necesitas hacer
$(this).data(''class_value'', "new value");
$(this).data(''class_value'',''new value'') ;