[英]Select the parent of an element which has a certain class
我建立了一个导航栏,其中包含以下标记:
<ul class="nav">
<li class="active"><a href="blah.html">S</a></li>
<li><a href="blah1.html">S1</a></li>
<li><a href="blah2.html">S2</a></li>
<li><a href="blah3.html">S3</a></li>
</ul>
在我这里的事件中,我有权访问用户单击的a
元素。
$('.nav').on('click', 'li a', function(){
var clickedLink = $(this);
var prevActiveLI = ?
var currentClickedAnchorsParentLI = ?
});
我想要达到目的有两件事。 之前的li
标签已应用了active
类,其次是刚刚单击的a
的li
标签。 如何访问?
$('.nav').on('click', 'li a', function(){
var clickedLink = $(this);
var prevActiveLI = clickedLink.closest('ul.nav').find('li.active');
var currentClickedAnchorsParentLI = clickedLink.parent();
});
尝试这个:
$('.nav').on('click', 'li a', function(){
var clickedLink = $(this);
var prevActiveLI = $('.active', $clickedLink.closest('.nav'));
var currentClickedAnchorsParentLI = $clickedLink.closest('li');
});
var $prevLi,
$currentLi
;
$('.nav').on('click', 'li a', function(){
var clickedLink = $(this);
if($currentLi) {
$prevLi = $currentLi;
}
$currentLi = clickedLink.parent();
});
$('.nav').on('click', 'li a', function(){
var clickedLink = $(this);
var currentClickedAnchorsParentLI = clickedLink.parent();
if(!currentClickedAnchorsParentLI.hasClass("active"))
var prevActiveLI = currentClickedAnchorsParentLI.siblings(".active").first();
//else
//
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.