[jQuery] html d'un enfant

Résolu/Fermé
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 - 22 févr. 2011 à 12:12
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 - 24 févr. 2011 à 16:15
Bonjour à tous,

Je rencontre quelques difficultés avec jQuery. J'utilise le système de bulle inclu dans l'API. Jusque là, je définissais le contenu de ma bulle dans le code javascript. Aujourd'hui je souhaite mettre le contenu quelque part dans le html, caché, et pouvoir le récupérer et l'afficher lorsque la bulle apparait.

Voici mon code :

extrait HTML :
<a class="bubble" href="..." >
	<img alt="Détail" src="plus.png" />
	<div class="hidden">Voici ce qui s'affichera dans la bulle quand elle apparaîtra</div>
</a>

extrait javascript :
$(".bubble").each(function(){
	var popupHtml = $(this).children("div.hidden");
	$(this).CreateBubblePopup({
		innerHtml: popupHtml
	});
});


Lorsque j'analyse le contenu de ma variable "popupHtml", je constate qu'elle est toujours nulle, alors que mon div.hidden contient bien quelque chose !
Auriez-vous une idée d'où peut provenir l'erreur ?
A voir également:

1 réponse

Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
24 févr. 2011 à 16:15
Après qqs jours de recherche, et l'aide des développeurs du forum de jQuery (https://forum.jquery.com/topic/fill-a-bubble-with-the-html-of-a-hidden-div j'ai trouvé quelles étaient LES erreurs :

1. Il manque un ".html()" dans le javascript.
2. Il ne faut pas mettre de bloc (div) dans un inline (a) en HTML. J'ai donc mis le div.hidden au même niveau que le a.bubble, et j'ai remplacé la fonction javascript children par la fonction siblings

extrait HTML :
<a class="bubble" href="..." > 
 <img alt="Détail" src="plus.png" /> 
</a>
<div class="hidden">Voici ce qui s'affichera dans la bulle quand elle apparaîtra</div> 

extrait javascript :
$(".bubble").each(function(){ 
 var popupHtml = $(this).siblings("div.hidden").html(); 
 $(this).CreateBubblePopup({ 
  innerHtml: popupHtml 
 }); 
}); 
0