[jQuery-es] Fwd: ¿Fallo mío?

Rafa Garcia rafa.garcia en fullsix.com
Vie Ene 5 02:32:32 PST 2007


Juan G.Hurtado escribió:
> Buenas,
>
>   
>> Buenas,
>>
>> Tengo un pequeño HTML añadido al documento mediante .append(), tal  
>> que así:
>>
>> $('#identificador elemento').append('<p>Lorem ipsum <img  
>> src="imagen.png" alt="Prueba" /></p>');
>>
>> Quiero añadir otra vez lo mismo, para tener 2 párrafos iguales,  
>> salvo que al primero de ellos quiero cambiarle la imagen por otra.  
>> Así que después de añadir el nuevo párrafo, (mediante un evento  
>> click de la imagen del primer párrafo), hago lo siguiente:
>>
>> $(this).ancestors('elemento').find('p:not(:last) img').remove();
>> $(this).ancestors('elemento').find('p:not(:last)').append('<img  
>> src="imagen2.png" alt="Otra imagen" />');
>>
>> El caso es que no hace el .append() de la nueva imagen, aunque sí  
>> hace el remove(). Si borro la línea que hace el remove(), sí hace  
>> el append().
>>
>> ¿El fallo es de concepto, o es un fallo "superior"?
>>
>> Gracias por todo, un saludo.
>>     
>
> Ya he visto el fallo. El .remove() se está cargando la imagen que  
> genera el evento click, por lo tanto, después del remove(), cualquier  
> investigación del DOM que yo haga a partir de ese objeto será inútil,  
> ya que no existe en el DOM. Es decir:
>
> $(this).ancestors('elemento')
>
> Si hago eso después del .delete() no funciona, ya que 'this' se  
> refiere a la imagen, que ya no está en el DOM, y por lo tanto no  
> tiene 'ancestors'.
>
> Un saludo, y recordad no cometer mis mismos errores ;)
>   

Y recuerden aquello, chicos, supervitaminarse y mineralizarse ;-). Buen 
ejemplo de "autogestión de errores", Juan.

> --
> Juan G. Hurtado
> [ juan.g.hurtado en gmail.com ]
> [ http://armonia.spiral-static.org/ ]
>
>
>
> _______________________________________________
> jquery-es Lista de correo en español para usuarios de jQuery
>
> * Recuerda que debes utiliza "responder a todos" para enviar tu respuesta a la lista
> * Para abrir un tema de conversación, escribe a jquery-es en scriptia.net
> * Puedes gestionar tu suscripción en http://lists.scriptia.net/listinfo.cgi/jquery-es-scriptia.net
>
>   



Más información sobre la lista de distribución jquery-es