以下代码的功能是在当前页面上为已点击的链接添加类,并且它们都正常工作。
$("li a").filter(function(){ return this.href == location.href.replace(/#.*/, ""); }).parents('nav ul li').addClass("selected");
和
var loc = window.location.href;
$("a").each(function() {
if(this.href == loc) {
$(this).parents('nav ul li').addClass('selected');
}
});
但我的问题是你只能在nav中的链接中添加类。单击div之外的任何链接不会添加任何类。请查看此网址和click link outside nav1 or 2.
我的目标是将班级添加到父李,并选择其子李。
请帮我解决这个问题。谢谢!
答案 0 :(得分:0)
它不会添加一个类,因为你试图将导航项href与它不匹配的url匹配。
您可以随时添加第二部分以确保选择了某些内容
var loc = window.location.href;
$("nav a").each(function() {
if(this.href == loc) {
$(this).parents('li').addClass('selected');
}
});
$("nav").each( function(){
var $nav = $(this);
if ($nav.find('li.selected').length == 0 ){
$nav.first('.li').addClass('selected');
}
})