2010-12-15 6 views
8

J'ai actuellement des problèmes avec les éléments suivants (ici est un exemple de code en premier):Comment sélectionner un élément chargé via la fonction jQuery load()?

<div id="container"></div> 

<script type="text/javascript"> 
    $('#container').load('content.html'); 

    $('.elementInContentHTML').fadeIn(); 
</script> 

En bref, je veux être en mesure d'accéder à des éléments qui ont été ajoutés dynamiquement à une page sans les attacher à l'événement les gestionnaires.

Je sais sur la méthode live(), mais je ne le font pas veulent lier mon action à tout événement, à savoir que je veux juste lancer certaines actions avec ces nouveaux éléments sans cliquer dessus, mise au point, le flou, etc.

Répondre

15

La fonction load est asynchrone.
Votre ligne suivante s'exécute avant le chargement du contenu.

Vous devez mettre votre code dans le rappel de la fonction load, de sorte qu'il ne fonctionnera après que le nouveau contenu est chargé:

$('#container').load('content.html', function() { 
    $('.elementInContentHTML').fadeIn(); 
}); 
3

Vous pourriez essayer d'utiliser le rappel pour quand le chargement se termine? Voir http://api.jquery.com/load/

$('#result').load('ajax/test.html', function() { 
    alert('Load was performed.'); 
}); 
Questions connexes