Получить имя ссылки в javascript?

56
8

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

это мои вкладки, есть больше, но я покажу 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) из выбранных вкладок.

спросил(а) 2020-04-04T02:00:45+03:00 3 месяца назад
1
Решение
55

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

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

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

к

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

ответил(а) 2020-04-04T02:16:12.566781+03:00 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема