2010-07-14 3 views
0

J'ai des problèmes pour afficher le texte en fonction des images sur lesquelles j'ai cliqué.jQuery: affichage d'un div selon l'image sur laquelle j'ai cliqué

<ul id="boutique1"> 
     <li><a href="#first"><img src="images/image1.jpg">nothing</a></li> 
    </ul> 

Lorsque je clique sur ces premiers liens, je veux afficher que:

<p id="first" style="display:none;">Hello World</p> 

Dans cette div

<div id="alert"></div> 

Maintenant, j'ai cette fonction jQuery:

$('#boutique1 a').live('click',function(){ 

$('#alert').html( $($(this).attr('href'))).slideDown(); 
    setTimeout(function(){ $('#alert').slideUp() },5000) 

}); 

Je ne sais pas pourquoi ça ne marche pas.

Je n'obtenu le #alert div qui montre jusqu'à vide

grâce

Répondre

1

Vous pouvez faire ceci:

$('#boutique1_item3 a').live('click',function(){ 
    $('#alert').html($(this.hash).html()).slideDown() 
      .delay(5000).slideUp(); 
}); 

You can test it here, clé est que .html(value) prend une chaîne, donc vous devez appeler .html() à obtenir la valeur de l'élément que vous récupérez du contenu.

+0

qu'est-ce que this.hash? –

+1

@Tristan - C'est un moyen rapide d'obtenir le '# quelque chose 'de la propriété' href' :) C'est une propriété DOM, pas une propriété jQuery. –

+0

ok, cela fonctionne parfait, merci nick;) –

Questions connexes