我正在使用此示例http://jsfiddle.net/mekwall/up4nu/在用户向下滚动时突出显示菜单链接。问题是示例突出显示'li'标签,但我只想突出显示'a'标签。所以我试着这样做:
if (lastId !== id) {
lastId = id;
// Set/remove active class
menuItems
.removeClass("active")
.end().filter("[href=#"+id+"]").addClass("active");
}
我从原始代码中取出了parent(),但这仍然没有达到我想要的效果。我对jQuery还不是很好,所以我不确定还有什么要添加/删除所以只有'a'标签突出显示而不是'li'标签
答案 0 :(得分:1)
这是一个工作小提琴,突出显示a
elements而不是li
elements:Fiddle。
我做的是
更改了HTML,因此它是第一个具有类活动的a
元素
而不是默认的第一个li
元素:
<a class="active" href="#">Top</a>
更改了CSS,因此#top-menu li.active a
的规则变为了
#top-menu li a.active
(因此它们适用于a
元素。)
更改了JavaScript以适应所有这些:
menuItems
.removeClass("active")
.filter("[href=#"+id+"]").addClass("active");
答案 1 :(得分:0)
.parent()
出现了错误(第42-43行)。
我还调整了HTML标记以对应:
<li>
<a href="#" class="active">Top</a>
</li>
和CSS:
//#top-menu li.active a {
#top-menu li a.active {