Javascript 仅允许更改刚刚激活的侧栏菜单项的图标

Javascript 仅允许更改刚刚激活的侧栏菜单项的图标,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我想要一些建议,仅更改单击菜单项的图标(箭头),而不是在所有菜单项中更改它 如下图所示,当您单击菜单项时,所有箭头都会更改 //侧边栏菜单 jQuery(“#侧边栏.子菜单>a”)。单击(函数(){ var last=jQuery('.sub-menu.open',jQuery('#边栏'); jQuery('.menu arrow').removeClass('arrow_carrot-right'); jQuery('.sub',last).slideUp(200); var sub=j

我想要一些建议,仅更改单击菜单项的图标(箭头),而不是在所有菜单项中更改它

如下图所示,当您单击菜单项时,所有箭头都会更改

//侧边栏菜单
jQuery(“#侧边栏.子菜单>a”)。单击(函数(){
var last=jQuery('.sub-menu.open',jQuery('#边栏');
jQuery('.menu arrow').removeClass('arrow_carrot-right');
jQuery('.sub',last).slideUp(200);
var sub=jQuery(this.next();
如果(sub.is(“:可见”)){
jQuery('.menu arrow').addClass('arrow_carrot-right');
次级方案(200);
}否则{
jQuery('.menu arrow').addClass('arrow_carrot-down');
sub.slideDown(200);
}
var o=(jQuery(this.offset());
差值=200-o.顶部;
如果(差异>0)
jQuery(“#边栏”).scrollTo(“-=”+Math.abs(diff),500);
其他的
jQuery(“#边栏”).scrollTo(“+=”+Math.abs(diff),500);
});
.arrow\u carrot-up,
.arrow_胡萝卜向下,
.arrow_carrot-left,
.arrow_carrot-right{
字体系列:“优雅图标”;
文本转换:无;
线高:1;
-webkit字体平滑:抗锯齿;
}
.菜单箭头{
浮动:对;
右边距:8px;
}
在jQuery中,
$(此)
将仅引用已单击的元素。因此,如果单击了
a
标记,则单击事件将弹出到最近的
.子菜单
,您可以在那里捕获单击(或者,如果需要,您可以在
a
上捕获它…)

试试这个:

$('#sidebar .sub-menu').click(function () {
    $(this).find('.menu-arrow').removeClass('arrow_carrot-right').addClass('arrow_carrot-down');
});

请查看如何创建一个图标以及您的问题,以包含适用于此的HTML,这样我们就可以看到您所指的图标,并了解发生了什么/帮助了您。当您说“图标”时,您发布的jQuery代码与图标类没有任何关系。您是否缺少代码,或者您指的是arrow类?你发布的代码没有任何作用,因此很难理解发生了什么。感谢FluffyKitten和Rayees的建议,我已经添加了arrow类。谢谢@cssyphus您的回答帮助我更正了图标的细节arrows@92alvarey从你的评论中我不清楚——这是否解决了问题的全部问题?如果有的话,那么你可以考虑接受它,这样问题就被标记为“回答”了。您还可以获得一些代表点:)请参阅。