Javascript hasClass jQuery不是';行不通
我正在研制一个导航系统,左右箭头都可以展开Javascript hasClass jQuery不是';行不通,javascript,jquery,Javascript,Jquery,我正在研制一个导航系统,左右箭头都可以展开 <a href="#" class="icon-arrow-left active"></a> <ul> <li class="contracted"><a href="#">1</a></li> <li class="expanded"><a href="#">2</a></li>
<a href="#" class="icon-arrow-left active"></a>
<ul>
<li class="contracted"><a href="#">1</a></li>
<li class="expanded"><a href="#">2</a></li>
<li class="activeLesson"><a href="#">3</a></li>
<li class="expanded"><a href="#">4</a></li>
<li class="contracted"><a href="#">5</a></li>
</ul>
<a href="#" class="icon icon-arrow-right active"></a>
这里是使用添加类(“活动”)
/删除类(“非活动”)
。如果将其设置为.attr
,则会擦除所有类。不要使用attr('class','inactive')
,这将完全擦除所有的类
你应该使用
如果该类为活动类,则使用非活动类;如果该类为非活动类,则使用活动类。准备一把小提琴解释您的问题您正在彻底清除
上的所有类。图标箭头向左
。这不是你想要的,是吗?为什么会有这么多的反对票?这个问题问得很恰当。作为一个新手不应该是个问题。我也很害怕为什么会被否决这么多,但我记得这是真的。嗨!谢谢你。但这是行不通的。我已经用JSFIDLE链接更新了我的问题,使其更有意义。请检查。您仍在使用attr方法。只要复制我的代码,看看它是如何工作的。
if ($('li:first-child').hasClass('activeLesson')) {
$('.icon-arrow-left').attr('class','inactive')
}
if ($('li:first-child').hasClass('expanded')) {
$('.icon-arrow-left').toggleClass('active inactive');
}