正在更新列表项的类-jQuery
Updating class of list item - jQuery
这个问题很简单,但它已经困扰我将近一个小时了。基本上,我想在单击时更新列表类,然后在单击另一项时再次删除该类。
<nav>
<div class="menu-main-menu-container">
<ul id="menu-main-menu" class="menu">
<li class="current-menu-item">
<a class="scroll" href="#top"><span>Home</span></a>
</li>
<li class="">
<a class="scroll" href="#featured_work_anchor"><span>Featured Work</span></a>
</li>
<li class="">
<a class="scroll" href="#about_contact_anchor"><span>About/Contact</span></a>
</li>
</ul>
</div>
</nav>
jQuery
$(document).ready(function() {
$('#menu-main-menu li').on('click', changeClass);
});
function changeClass() {
$('#menu-main-menu li').removeClass('current-menu-item');
$(this).addClass('current-menu-item');
}
JSFiddle,准备出发。我感谢你的帮助。也许我处理问题不对,或者可能遗漏了一些愚蠢的东西?
我能看到的唯一问题是removeClass()
函数,要么不传递任何参数以删除li
中的所有类,要么传递要删除的类名。
function changeClass() {
$('#menu-main-menu li').removeClass('current-menu-item');
$(this).addClass('current-menu-item');
}
演示:Fiddle(也在Fiddle中,您忘记了包含jQuery)
您需要传递设置为当前的元素:
$(document).ready(function() {
$('#menu-main-menu li').on('click', function(){
changeClass($(this));
});
});
function changeClass(element) {
$('#menu-main-menu li').removeClass('current-menu-item');
element.addClass('current-menu-item');
}
更新的fiddle:http://jsfiddle.net/mw5sgcLn/4/
相关文章:
- 需要Jquery列表筛选帮助
- 如何让li项目在这个jQuery列表中滑动和/或淡出视图
- Jquery列表拖放
- 在PHP循环中动态创建jQuery列表视图
- ajax更新后jQuery列表刷新
- 您能否按字母顺序对从 JSON 文件动态创建的 jQuery 列表进行排序
- 给定两个连接的可排序 JQuery 列表,我怎么知道元素被放在哪个容器上
- 可通过Ajax从回显列表中排序jQuery列表
- jQuery列表中每个产品的基于悬停的弹出事件
- jquery列表项类切换
- 如何动态添加<李>jquery列表中的标记
- Jquery列表内部属性子选择
- 如何使用windows phone 8 c#中的jQuery列表功能
- JQuery列表追加项不可选择
- 当鼠标悬停在HTML/JS/JQUERY列表上时,图像弹出
- 如何从JQuery列表中获取JSON值
- JQuery列表下拉菜单问题
- 组排序JQuery列表元素
- 重置后,jquery列表使用connectWith停止工作
- 按字母顺序排序Jquery列表