Parece que no puede hacer que funcione ...Eliminación de atributos de datos de HTML usando jQuery
Tengo una página que oculta ciertos enlaces. Cuando el DOM está cargado, estoy usando jQuery para alternar algunos de esos elementos. Esto es impulsado mediante el uso de un atributo de datos de este modo:
<div class="d_btn" data-usr='48'>
<div class="hidden_button">
Entonces, tengo el código:
$.each($(".d_btn"), function() {
var btn = $(this).data('usr');
if (btn == '48'){
$(this).children('.hidden_button').toggle();
}
Lo anterior funciona todo como estaba previsto. El problema es que estoy tratando de eliminar el ususario de la clase .d_btn una vez que se evalúa la sentencia if. He intentado lo siguiente y nada funciona (es decir, después de cargar la página, la fuente sigue mostrando el atributo de datos-usr:
$(this).removeAttr("data-usr");
$(this).removeData("usr");
He estado trabajando en esto durante un par de horas y ahora. ..nothing! ayuda es muy apreciada!
ACTUALIZACIÓN
he intentado las sugerencias de establecer el atributo de datos a una cadena vacía, pero todavía no recibo el resultado deseado.
a Explique un poco más: La razón por la que estoy tratando de eliminar el atributo es que cuando una respuesta ajax agrega otro elemento a la página, los elementos agregados anteriormente ya tienen el botón mostrado u oculto. Tras la respuesta de AJAX, estoy llamando a la misma función una vez que se carga el DOM.
En la actualidad, cuando se añade algo a través de AJAX, cambia todos los botones (que muestran los que estaban ocultas y viceversa.) Uf ...
También estoy totalmente dispuesto a probar alternativas al enfoque . ¡Gracias!
ACTUALIZACIÓN
Bueno, la bombilla solo brilló y yo soy capaz de hacer lo que quiero hacer sólo por el uso .show() en lugar de .toggle()
De todos modos, Todavía me gustaría encontrar una respuesta a esta pregunta porque la página potencialmente podrá verificar cientos de elementos cada vez que se agregue algo - esto parece terriblemente ineficiente (incluso para una computadora, jajaja)
+1 El punto es esto. http://jsfiddle.net/VVbFG/ – undefined
Gracias - ¡eso es realmente útil! Actualicé mi publicación con información adicional. –