Ответ 1
Ваш код уже должен работать, но может быть более надежно получить доступ к свойству className
:
var currentli = $('.nav').find('a.current').parent().prop('className');
У меня есть следующая разметка HTML:
<div class="nav">
<ul>
<li class="tab1">
<a href="#1" class="current">Welcome</a>
</li>
<li class="tab2">
<a href="#2">About</a>
</li>
<!-- and some lists more -->
</ul>
</div>
и я хотел бы найти class
родительского элемента дочернего элемента с .current
:
var currentli = $('.nav').find('a.current').parent().attr('class');
console.log(currentli);
но он всегда меня бросает undefined
ПРИМЕЧАНИЕ: Я не знаю, какой a
в настоящее время имеет .current
, поэтому я должен использовать метод .find()
.
Ваш код уже должен работать, но может быть более надежно получить доступ к свойству className
:
var currentli = $('.nav').find('a.current').parent().prop('className');
Это будет работать:
var currentli = $($('.nav').find('a.current')).parent().attr('class');
console.log(currentli);
Я просто преобразовываю найденную коллекцию в объект jQuery еще раз.
Смотрите скрипту: http://jsfiddle.net/RaphaelDDL/wnW4u/
Ps.: Если более одного a
имеет class="current"
, будет восстановлен только первый.