2009-11-30 8 views
0

J'ai le code suivant qui ne fonctionne pas correctement, qu'est-ce que je fais mal ???Sélection d'un attribut href d'un lien à l'aide de jQuery?

$('#gallerynav ul li a').click(function(){ 
    var href = $('#gallerynav ul li a').attr('href') 
    $("#galleries").children().fadeOut(500 , function(){ 
     (href).fadeIn(500) 
    }) 
}) 

J'ai href des liens définis comme ceci:

<div id="gallerynav"> 
    <ul> 
     <li><a href="#foo">link</a></li> 
    </ul> 
</div> 
+0

Il serait utile de comprendre ce que vous attendez de ce code. S'il y a un autre élément avec ID = "foo" alors wows est probablement correct. – Myster

Répondre

0

On dirait que vous manque un $ devant l'appel (href). Essayez:

$(href).fadeIn(500) 
+0

var href contiendra la chaîne "#foo" cela sera traité comme un sélecteur et ne correspondra à rien. (rien dans l'exemple de toute façon) s'il y a un peu plus de balisage avec l'ID = "foo" alors cela semble correct. – Myster

0

Je pense: var href = $('#gallerynav ul li a').attr('href');

devrait être: var href = this.attr('href');

1

Essayez ceci:

$('#gallerynav ul li a').click(function(evt) { 
    var href = this.href; 
    $("#galleries").children().fadeOut(500 , function() { 
     $(href).fadeIn(500); 
    }); 
    evt.preventDefault(); 
}); 
6

essayer.

$('#gallerynav ul li a').click(function(){   
    var link = $(this).attr('href'); 
    $("#galleries").children().fadeOut(500 , function(){ 
     $(link).fadeIn(500); 
    }); 
}); 
+0

cela semble correct, corrige le problème où la variable n'est pas créée avec l'objet correct. – Myster