Javascript jQuery click()和on()函数

Javascript jQuery click()和on()函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当用户单击按钮时,我试图将“活动”类添加到菜单中,但由于某些原因,它不能正常工作。他们必须快速点击两次。我尝试了点击和点击功能,但仍然不起作用 $('#菜单li')。单击(函数(){ $('#menu li.active').removeClass('active'); $(this.addClass('active'); }); 菜单项中包含的链接将在单击时重新加载页面,当页面重新加载时,初始设置首先出现。如果您想运行函数,可以使用preventDefault(),

当用户单击按钮时,我试图将“活动”类添加到菜单中,但由于某些原因,它不能正常工作。他们必须快速点击两次。我尝试了点击和点击功能,但仍然不起作用

$('#菜单li')。单击(函数(){
$('#menu li.active').removeClass('active');
$(this.addClass('active');
});


菜单项中包含的链接将在单击时重新加载页面,当页面重新加载时,初始设置首先出现。如果您想运行函数,可以使用
preventDefault()
,但这样链接就无法工作


我建议您使用锚而不是查询字符串。

加载页面后必须处理活动li。请在代码末尾添加以下内容:

        var curruntLocation = window.location.href;

        $('#menu li a').each(function ()
        {
            var thisHref = $(this).attr('href');
            if (curruntLocation.indexOf(thisHref) > 0)
            {
                $(this).parent().addClass('active');                    
            }
        });

您的代码运行得非常好。您需要解析url或添加类服务器端。点击链接加载新页面AW,就是这样。。。有道理。我有一个index.php模板,它在div元素中加载来自其他模板的所有内容,并试图找出如何使活动类保持不变。您可以在单独的div中加载每个内容,并设置display:除了第一个子项之外,所有内容都不显示(通过为其指定class.active)。然后,在单击菜单项的同时,将一个活动类添加到相关的div中,并使用CSS使活动div可见。这听起来是一个可行的解决方案。我会试试看!非常感谢。几分钟后就回来。我在为你做小提琴,不用了。有人想出了如何使用jQuery。无论如何谢谢你!欢迎光临。如果你想让别人使用你的帖子,最好设置一个更相关的标题。例如:如何通过url查找活动菜单。