我有这样的菜单
<li> <a href="/home" class="active">Home</a> </li>
<li> <a href="/service">Services</a></li>
我希望链接处于活动状态的li具有“活动”类。所以它将成为
<li class="active"> <a href="/home" class="active">Home</a> </li>
我认为代码可以是这样的,但不是很明白
var $this;
$("ul > li").each(function(){
$this = $(this);
if($this.find("> li a.active").length)
$this.addClass("active");
}
答案 0 :(得分:2)
为什么不找到其类为“活动”的元素并获取其父级并添加类。这可以很简单:
$("a.active").parent().addClass("active");
答案 1 :(得分:1)
查看儿童()选择器:
if($this.children('a.active').size())
来自docs
给定一个表示一组DOM元素的jQuery对象,.children()方法允许我们在DOM树中搜索这些元素的直接子元素,并从匹配元素构造一个新的jQuery对象
干杯
答案 2 :(得分:0)
我不确定你要做什么,但我想这是你要找的代码
$("ul > li").each(function(index, element){
if($(element).find("a.active").length > 0) {
$(element).addClass("active");
}
}