2010-10-27 5 views
0

Je l'insertion de contenu à un div en utilisant jquery comme:Jquery ne fonctionne pas sur des liens qui est inséré à l'aide append()

$('#divItem').append("<a href='abcd.aspx' class="toolTip" target='_blank'>Go to abcd</a>") 

et je me sers d'un plugin jQuery pour afficher l'info-bulle sur la souris planer les liens (qui utilise la classe "tooTip".) L'info-bulle fonctionne bien pour tous les liens présents dans la page à l'exception des liens que j'ai ajoutés avec jquery append(). Alors quelqu'un peut-il me dire pourquoi cela ne fonctionne pas pour les liens qui sont ajoutés en utilisant append()? Y at-il une solution à cela?

+0

il y a une faute de frappe: ' « Go to abcd « ' devrait indiquer ' » Go to abcd »' –

Répondre

0

ce n'est pas que jQuery ne fonctionne pas sur les liens que vous ajoutez via append. Le problème réside avec quand appelez-vous votre plugin. Après l'appendice est arrivé ou avant. jQuery a .live pour supporter de telles situations lors de l'exécution

0

Vous devez utiliser la méthode .live et lier les éléments lors de leur création.

+0

vous pouvez même donner en ligne si l'un d'eux ne fonctionne pas – kobe

+0

vous pouvez le vérifier ici: http://api.jquery.com/live/ – Kennethvr

0

Il est probable que le plugin lie des événements à ces liens avec une méthode autre que $.live() ou $.delegate(). Pouvez-vous fournir la source du plugin?

0

Tout le monde a dit que c'est correct, vous devez lier l'info-bulle au nouveau lien que vous venez d'ajouter. Ajoutez cette ligne après votre ligne append:

$("#divItem a:last").tooltip(); 
Questions connexes