Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导CSS导航活动类更改onclick_Javascript_Jquery_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 引导CSS导航活动类更改onclick

Javascript 引导CSS导航活动类更改onclick,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,单击下一页时,我在更改活动类时遇到问题。我在这里找到了很多不同版本的脚本,但都没有成功。我的项目位于此处: $('.navbar right li')。单击(函数(e){ $('.navbar right li.active').removeClass('active'); var$this=$(this); if(!$this.hasClass('active')){ $this.addClass('active'); } e、 预防默认值(); }); 您是否在没有$(docum

单击下一页时,我在更改活动类时遇到问题。我在这里找到了很多不同版本的脚本,但都没有成功。我的项目位于此处:


$('.navbar right li')。单击(函数(e){
$('.navbar right li.active').removeClass('active');
var$this=$(this);
if(!$this.hasClass('active')){
$this.addClass('active');
}
e、 预防默认值();
});

您是否在没有$(document).ready()的情况下使用jQuery?将您的代码更改为以下代码,使其均匀触发,然后检查控制台是否有错误(如果有)

<script>
$(document).ready(function(){
        $('.navbar-right li').click(function(e) {
        $('.navbar-right li.active').removeClass('active');
        var $this = $(this);
        if (!$this.hasClass('active')) {
            $this.addClass('active');
        }
        e.preventDefault();
        });
});
</script>

$(文档).ready(函数(){
$('.navbar right li')。单击(函数(e){
$('.navbar right li.active').removeClass('active');
var$this=$(this);
if(!$this.hasClass('active')){
$this.addClass('active');
}
e、 预防默认值();
});
});

如果使用“防止默认值”,则希望阻止锚定标记工作,因此必须单击锚定标记 如果您的活动类位于li而不是锚点上,则此示例为:

$('.navbar-right li a').click(function(e) {
   $('.navbar-right li.active').removeClass('active');

   if (!$(this).parent().hasClass('active')) {
     $(this).parent().addClass('active');
   }
   e.preventDefault();
 });

正如这里尝试的那样:

将脚本包装在
$(document).ready(function(){})中你的证明链接不起作用,但我猜你实际上是在点击链接而不是li,因此它会重新加载页面,这意味着你更改的类不会出现,pugazh说的是-在doc上运行代码ready@Pete再次尝试链接,该链接可以更改活动类,但现在当我单击链接时,它不会改变页面,只会改变活动类。当我点击导航栏中的链接时,活动li会改变,但页面保持在索引上。php@DamianSheldon您需要在加载新页面时更改类服务器端,或者在客户端更改新内容时使用ajax加载新内容
$('.navbar-right li a').click(function(e) {
   $('.navbar-right li.active').removeClass('active');

   if (!$(this).parent().hasClass('active')) {
     $(this).parent().addClass('active');
   }
   e.preventDefault();
 });