我有以下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()
方法的原因。
答案 0 :(得分:35)
您的代码应该已经有效,但访问属性className
可能更可靠:
var currentli = $('.nav').find('a.current').parent().prop('className');
答案 1 :(得分:1)
这将有效:
var currentli = $($('.nav').find('a.current')).parent().attr('class');
console.log(currentli);
我只是将找到的集合再次转换为jQuery对象。
请参阅小提琴:http://jsfiddle.net/RaphaelDDL/wnW4u/
Ps。:如果多个a
有class="current"
,则只会检索第一个。
答案 2 :(得分:0)
jQuery(function($) {
console.log($('.nav a.current').parent().prop('className'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<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>