Tengo algo de código jQuery algo como esto:jQuery: seleccionar por clase después del cambio de clase por .addClass() o .attr()
$(document).ready(function() {
$("img.off").click(function() {
alert('on');
$(this).attr('class', 'on');
});
$("img.on").click(function() {
alert('off');
$(this).attr('class', 'off');
});
});
El selector funciona bien para las imágenes que tienen el nombre de la clase definida en el documento HTML original, sin embargo, después de manipular el nombre de clase con jQuery, el elemento img no responderá a los selectores que usen su nueva clase.
En otras palabras, ejecutar el código anterior, si hace clic en un img 'off
', activará la primera función y cambiará la clase a 'on
'. Sin embargo, al hacer clic en esta imagen nuevamente no se activa la segunda función (como yo esperaba), sino que se activa la primera otra vez. Es como si el selector estuviera leyendo el antiguo DOM en lugar de la versión actualizada. ¿Qué estoy haciendo mal aquí?
Firefox 3.6.3 - jQuery 1.4.2
Hmm, ya veo. Parece que he estado haciendo suposiciones incorrectas sobre cómo funciona jQuery. Gracias. – UpTheCreek
Sí, funciona genial. – UpTheCreek
@Sosh '.click()' solo vincula un controlador a un elemento dom. – Skilldrick