我正在使用jQuery Vertical Menu Library www.dynamicdrive.com/dynamicindex1/ddsmoothmenu.htm我想完成所选路径的选择。假设我通过以下路径浏览该菜单(在该网站上的演示中):
Folder 2 > Folder 2.1 > Folder 3.1.1 > SubItem 3.1.1.1
当我点击SubItem 3.1.1.1
时,我想要所有之前的项目(来自上面的路径)更改其背景。下面的代码仅选择最顶层的项目。如何解决?
$('#nav > li').click(function () {
$(this).children('a').css('background-color', 'red');
$(this).parents('ul').each(function () { $(this).prev('a').css('background-color', 'red'); });
});
。在那种情况下,我的代码失败了。
答案 0 :(得分:1)
菜单似乎有条理,点击事件会从子li
冒出来到父li
,所以你只需要将click事件绑定到所有菜单项并设置背景对于当前元素:
$('#nav li').click(function () {
$(this).children('a').css('background-color', 'red');
});
当您点击另一个菜单项
时,您仍可能想要取消设置红色背景答案 1 :(得分:0)
解决尝试#1:
$('#nav a').click(function () {
$(this).css('background-color', 'red');
$('a.selected').css('background-color', 'red');
});