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