Jquery addClass&;在nav.php中删除类
我的根目录中有一个nav.php,我使用 这样我就可以在一个文件中进行编辑,而更改将在整个网站上生效。我试图在鼠标单击时删除类,并在新单击的菜单项上添加类。下面是代码,我就是不能让它工作Jquery addClass&;在nav.php中删除类,jquery,addclass,removeclass,Jquery,Addclass,Removeclass,我的根目录中有一个nav.php,我使用 这样我就可以在一个文件中进行编辑,而更改将在整个网站上生效。我试图在鼠标单击时删除类,并在新单击的菜单项上添加类。下面是代码,我就是不能让它工作 <script> $('li').click(function(){ $('li.active').removeClass('active'); $(this).addClass('active'); }); </script>
<script>
$('li').click(function(){
$('li.active').removeClass('active');
$(this).addClass('active');
});
</script>
$('li')。单击(函数(){
$('li.active').removeClass('active');
$(this.addClass('active');
});
这是网址
谢谢这有几个问题 查询选择器$('li')肯定会匹配页面上的多个元素,因此您需要遍历所有元素并添加click()函数,如:
$('li').each(function() {
$(this).click(function(thisLi) {
// assuming there is only one li.active...
$('li.active').removeClass('active');
thisLi.addClass('active');
});
});
此外,还需要将其加载到匹配的元素中,方法是将其放入$(document).ready()函数或类似函数中:
$(document).ready(function() {
$('li').each(function() {
$(this).click(function(thisLi) {
// assuming there is only one li.active...
$('li.active').removeClass('active');
thisLi.addClass('active');
});
});
});
您提供的链接中的源代码中没有您的上述脚本。实际上,您的代码对meStill运行良好,即使在我添加$(this).sibles().removeClass('active')后,对我也不起作用;即使有多个活动LIs
$('li.active')。removeClass('active')
也会从所有LIs中删除活动类。选择器将匹配它们,它们都将应用removeClass。美元('li')也一样。单击()?我想我过去需要迭代器来添加触发器,是的。去尝试一下,清理一下你的旧JS!