2011-07-26 3 views
2

Donc j'ai une boîte de fantaisie avec un lien dedans.Changer le contenu dans fancybox en utilisant jquery.html()

contenu fancybox:

<a href="#" class="precilink">preci description</a> 
<div id="precitext"> 
    text changed by clicking preci 
</div> 

Maintenant, j'ai ce jquery-haut:

$(".precilink").click(function(e){ 
     e.preventDefault(); 
     $('#precitext').html("hello"); 
    }); 

Mais rien ne se passe, bien que dans le dom le code html identifiant precitext obtient le changement. Comment puis-je dire à fancybox de recharger? Essayez le format .text au lieu de .html.

+0

... Woops donc j'utilisais un id mais j'avais que precitext div dans plusieurs zones sur la page (de fancyboxes multiples) changer cela (".precitext") a travaillé seulement bien. Je vais laisser la question juste pour que les gens puissent voir comment manipuler à l'intérieur des boîtes de fantaisie – Msencenb

Répondre

0

Pour l'utilisation normale de fancybox, le lien doit pointer vers la div. il peut ne pas être nécessaire dans ce cas, mais sa vaut le coup

<a href="#precitext" class="precilink">preci description</a> 
0

$(".precilink").click(function(e){ 
     e.preventDefault(); 
     $('#precitext').text("hello"); 
}); 
1

Vous devez utiliser événement en direct, car javascript est inséré dans DOM dynamique.

$(".precilink").live('click', function(e){ 
    e.preventDefault(); 
    $('#precitext').html("hello"); 
}); 

Hope this helps

Questions connexes