Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/03/2014, 11:26
Avatar de Aronofsky
Aronofsky
 
Fecha de Ingreso: marzo-2011
Ubicación: Murcia
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Porblema div y jquery

Buenas posteo para escribir la solución al problema que tenía y que ya conseguí solucionar, para quien le pueda servir.

Cuando generas código extra de forma dinámica fuera del código original de tu web con métodos de jquery como $.ajax, $.post o $.get como hacía yo de esta forma:

Código:
function mostrar(){
$.post("archivo",function(result){
$("element").html(result);
});}
Siendo archivo el fichero externo donde generas el código y element la etiqueta html donde insertarlo.

Si quieres aplicar un efecto jquery a esos elementos de forma normal no funcionará, ya que ese contenido ha sido generado aparte y no forma parte del árbol DOM. Para poder aplicarle un efecto hay que usar el método on()

[URL="https://api.jquery.com/on/"]https://api.jquery.com/on/[/URL]

De la siguiente forma:

Código:
$("elemento1").on("evento", "elemento2", function(){
     //Código a ejecutar
});
Siendo elemento1 el contenedor y elemento2 los generados dinamicamente sobre los que se le aplica el efecto. Por ejemplo:

Código:
<div id="elemento1">
<a class="elemento2" href="#">Enlace1</a> // Este es el
<a class="elemento2" href="#">Enlace2</a> // contenido generado
<a class="elemento2" href="#">Enlace3</a> // dinamicamente.
</div>
"evento" se refiere al disparador del efecto, como click, blur o keyup.

Espero le sirva de ayuda a alguien, tal vez os parezca algo muy básico pero a mí me ha llevado un par de días, ni siquiera sabía que existía ese método on() ni que jquery no afectaba a contenido generado aparte.

Un saludo