我正在使用removeClass和addClass函数。我正在尝试在单击下拉列表打开时更改字体真棒类。我已经尝试过几次完成这项工作,但我认为我一定忽略了什么。
这是我的 html 代码:
<div id="cssmenu"class="col-xs-12 left">
<ul class="nav nav-sidebar">
<li><a href='#'><span>Dashboard</span></a></li>
<li class='active has-sub'><a href='#'><span>Products</span><i class="fa fa-caret-right"></i>
这是我的Jquery代码,我正在尝试删除该类并添加另一个类:
$('#cssmenu ul li a i').on('click', function() {
$('#cssmenu ul li a i').removeClass('fa-caret-right');
$(this).addClass('fa-caret-down');
});
感谢您查看:)顺便说一句,我正在寻找线索而不是答案,因为我正在尝试学习 Jquery。
我会在列表项上添加单击事件:
$('#cssmenu ul li').on('click', function() {
$('#cssmenu ul li a i').removeClass('fa-caret-right');
$(this).find('i').addClass('fa-caret-down');
});
您正在元素上使用click
<i>
,显然您没有单击。尝试在锚点<a>
标记上使用click
,并更改其中包含的<i>
上的类。
$('#cssmenu ul li a').on('click', function() {
$('#cssmenu ul li a i').removeClass('fa-caret-right');
$(this).find('i').addClass('fa-caret-down');
});
试试这个
$('#cssmenu ul li a i').on('click', function() {
$(this).addClass('fa-caret-down').siblings().removeClass('fa-caret-right');
});
至于你提到的线索,你可能想看看jQuery的toggleClass()方法:http://api.jquery.com/toggleclass/
试试这个解决方案:
$('#cssmenu ul li.has-sub').on('click', function() {
$(this).find('i').removeClass('fa-caret-right').addClass('fa-caret-down');
});