2009-11-30 3 views
0

У меня есть следующий код, который не работает должным образом, что я делаю неправильно ???Выбор атрибута href ссылки с помощью jQuery?

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

У меня есть HREF из ссылок, установленных как это:

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

Было бы полезно понять, что вы ожидаете, когда этот код будет работать. Если есть еще один элемент с ID = "foo", то wows, вероятно, правильный. – Myster

ответ

0

Похоже, вы пропустили на $ перед (HREF) вызова. Попробуйте:

$(href).fadeIn(500) 
+0

var href будет содержать строку «#foo», это будет рассматриваться как селектор и ничего не будет соответствовать. (в любом случае ничего в этом примере), если есть еще одна разметка с идентификатором = "foo", тогда это выглядит правильно. – Myster

0

Я думаю: var href = $('#gallerynav ul li a').attr('href');

должно быть: var href = this.attr('href');

1

Попробуйте это:

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

Попробуйте это.

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

это выглядит правильно, исправляет проблему, когда переменная не создается с правильным объектом. – Myster

Смежные вопросы