Javascript 动态更改菜单样式或在jQuery中传递参数。每个迭代器

Javascript 动态更改菜单样式或在jQuery中传递参数。每个迭代器,javascript,jquery,menu,coding-style,Javascript,Jquery,Menu,Coding Style,我有一堆菜单链接,想在点击时改变它们的样式——比如说你点击“关于”,它会变成粗体和红色。我选择项目并将单击事件绑定到它们: $("#nav_menu > *").bind("click",function(){doTrigger(this.id);}); 通过这种方式,我将单击项目的ID传递给doTrigger 嗯。现在,在doTrigger中,我尝试遍历这些项目并更改它们的样式:例如,将all改为style1并单击style2。问题在于: $("#nav_menu > *").e

我有一堆菜单链接,想在点击时改变它们的样式——比如说你点击“关于”,它会变成粗体和红色。我选择项目并将单击事件绑定到它们:

$("#nav_menu > *").bind("click",function(){doTrigger(this.id);});
通过这种方式,我将单击项目的ID传递给
doTrigger

嗯。现在,在
doTrigger
中,我尝试遍历这些项目并更改它们的样式:例如,将all改为style1并单击style2。问题在于:

$("#nav_menu > *").each(function(){;});
不允许我传递已单击项目的id


我认为应该有一种不那么复杂的方式来获得我需要的东西。此外,我想我也迷路了。

传递给
$的函数。
doTrigger()
中的每个()
都在的上下文中运行,因此可以访问
doTrigger()
中的变量-您不需要传递任何内容

function doTrigger(id) {
...
   $("#nav_menu > *").each(function(){ /* you can access var id in here */ ;});

试着这样做:

$("#nav_menu > *").bind("click",function(){ $("#nav_menu > *").attr('class', 'class1'); $(this).attr('class', 'class2'); });
单击某个项目时,这会将所有子项重置为
class1
,然后只有该项目是
class2