jquery innerhtml
El valor del atributo de datos actualizado por jquery no es visible en DOM (2)
Estoy actualizando un atributo de datos por jQuery, como:
jQuery(''div'').data(''hidden'', ''true'');
alert(jQuery(''div'').data(''hidden''));
El valor del atributo de datos se cambió y devolvió un nuevo valor que es true
pero DOM aún muestra el valor antiguo que es false
.
Cuando usa .data() para actualizar un valor de datos, está actualizando el objeto interno administrado por jQuery, por lo que no se actualizará en el atributo data-*
Estaba luchando mucho contra el arbusto :( y capaz de resolver el problema. Las costuras como las que no podemos lograr con el método de datos jQuery si el html es dinámico y el atributo de datos cambió más tarde después de acceder por primera vez.
Según .data()
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).
Entonces, lo que hice fue cambiarlo a un método attr que no le dará el valor analizado para el entero, así que tiene que usar el operando ''+'' para convertir como:
+ myElement.attr(''data-index'');
Nota: Debe tener cuidado, convertirá el resultado a NaN si hay alguna cadena en el campo de datos. Por cierto, es su elección de implementación del código.