jQuery – 在动态创建的菜单中更改菜单项路径的CSS

我正在使用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'); }); }); 

。 在那种情况下,我的代码失败了。

单击菜单的方式,click事件将从子li向父li ,所以你只需要将click事件绑定到所有菜单项并设置当前元素的背景:

 $('#nav li').click(function () { $(this).children('a').css('background-color', 'red'); }); 

单击另一个菜单项时,您仍可能想要取消设置红色背景

解决尝试#1:

  $('#nav a').click(function () { $(this).css('background-color', 'red'); $('a.selected').css('background-color', 'red'); });