[英]Change Menu Styling on fly or pass a param inside jQuery .each iterator
我有一堆菜单链接,并且想在单击时更改其样式-说您单击“关于”,它会变成粗体和红色。 我选择项目并将click事件绑定到它们:
$("#nav_menu > *").bind("click",function(){doTrigger(this.id);});
这样,我将单击项的ID传递给doTrigger
。
好。 现在,在doTrigger
我尝试遍历所有项目并更改其样式:例如全部更改为style1并单击为style2 。 问题是:
$("#nav_menu > *").each(function(){;});
不会让我传递点击项的ID。
我认为应该有一种不太复杂的方式来获取我所需要的东西。 此外,我想我也迷路了。
传递给函数$.each()
在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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.