2013-12-11 7 views
1

Привет, я пытаюсь использовать мои вкладки, используя javascript, но сталкиваюсь с некоторыми проблемами при изменении div, содержащего контент.Получить URL-адрес ссылки в javascript?

это мои вкладки, есть больше, но я покажу 2, например

<li id="sub1" class="moduleTabs"><a href="#">Practice</a> 
     <ul class="collapse"> 
      <li class="unselected"><a href="#pro1" id="t1">Principle</a></li> 
      <li class="unselected"><a href="#pro2" id="t2">Basics</a></li> 
     </ul> 
</li> 

Вот мой DIV, который содержит содержание

<div id="pro1" class="information"> 
    <h2>Principles</h2> 
    <p></p> 
</div> 
<div id="pro2" class="information"> 
    <h2>Basics</h2> 
    <p></p> 
</div> 

Вот мой Javascript код

$('#t1, #t2, #t3, #t4, #t5, #t6, #t7, #t8, #t9, #t10, #t11, #t12, #t13, #t14').parent('li').click(function() { 
    $(this).addClass('clicked'); 
    $(this).siblings().removeClass('clicked'); 
    //this part is to remove the content in homepage 
    $('#content').hide(); 
    //i'm trying to get the url name #pro1 if link #t1 is click so that the div will fade in 
    $(this).find('a').attr('href').fadeIn(); 
    $(this).siblings().find('a').attr('href').hide(); 
})/ 

Проблема сейчас, я сталкиваюсь $(this).find('a').attr('href').fadeIn() не работает. Я не могу получить ссылку URL (#pro1) с выбранных вкладок.

ответ

1

Дело в том, что $(this).find('a').attr('href') возвращает строку типа «# pro1», «# pro2» ... а не непосредственно объект jQuery. Вы должны передать эту строку функции jQuery, чтобы получить соответствующий элемент.

Изменить это:

$(this).find('a').attr('href').fadeIn(); 

Для

$($(this).find('a').attr('href')).fadeIn(); 
+0

спасибо так много! оно работает!! – shiying22

+0

Мое удовольствие. Не забывайте отмечать этот ответ как принятый, если ваша проблема решена. – OlivierH

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

  • Нет связанных вопросов^_^