我有以下代码,它为菜单项提供了一个“当前”类。然后我使用font-weight:Bold;
$(document).ready(function () {
var loc = window.location.href;
$("ul a").each(function() {
if (loc.indexOf($(this).attr("href")) != -1) {
$(this).addClass("current");
}
});
});
如果用户位于子菜单ul li a
内的页面上,如何在根级别向父UL / LI添加名为Bold
的类?
这是结构,如果我在Q& Z Group,那么关于我们需要大胆。 - http://jsfiddle.net/zZQy3/
答案 0 :(得分:1)
如果您将当前节点作为jquery变量,则可以使用parent
访问其父节点。因此,您可以使用$(this).parent().addClass(...);
如果你想,而不是使用javascript来实现这个逻辑,你可以使用selector:
$('ul li:has(a[href=' + window.location.href + '])').addclass(...);
这是通过Has和Attribute Equals选择器查找具有与当前网址匹配的href的后代的任何LI。
答案 1 :(得分:1)
var loc = window.location.href;
$("ul a").each(function() {
if (loc.indexOf($(this).attr("href")) != -1) {
$(this).addClass("current");
$(this).parent('li').parent('ul').addClass("Bold");
}
});
答案 2 :(得分:1)
您正在寻找parent:
$(this).parent("li").parent("li").addClass("bold");
注意上面有两个父母 - 这是因为你的元素在li中,这不是你想要的粗体。你希望那个李的父母是大胆的。