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'); });