Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 使用引导将导航栏的链接设置为活动_Javascript_Jquery_Html_Twitter Bootstrap_Navbar - Fatal编程技术网

Javascript 使用引导将导航栏的链接设置为活动

Javascript 使用引导将导航栏的链接设置为活动,javascript,jquery,html,twitter-bootstrap,navbar,Javascript,Jquery,Html,Twitter Bootstrap,Navbar,我尝试在单击按钮时将导航栏的元素设置为活动 我的导航栏是这样的: <div class="navbar span8" id="navbar"> <div class="navbar-inner"> <ul class="nav"> <li><a href="#a">A</a></li> <li><a href="#b"&

我尝试在单击按钮时将导航栏的元素设置为活动

我的导航栏是这样的:

<div class="navbar span8" id="navbar">
    <div class="navbar-inner">
        <ul class="nav">
             <li><a href="#a">A</a></li>
             <li><a href="#b">B</a></li>
             <li><a href="#c">C</a></li>
             <li><a href="#d">D</a></li>
             <li><a href="#e">E</a></li>
             <li><a href="#f">F</a></li>    
              .....         
       </ul>
    </div>
</div>
但当我点击a作为例子时,G仍然是活动的

我的代码是这样的:

<div class="navbar span8" id="navbar">
    <div class="navbar-inner">
        <ul class="nav">
             <li><a href="#a">A</a></li>
             <li><a href="#b">B</a></li>
             <li><a href="#c">C</a></li>
             <li><a href="#d">D</a></li>
             <li><a href="#e">E</a></li>
             <li><a href="#f">F</a></li>    
              .....         
       </ul>
    </div>
</div>
要将类设置为活动,代码为:

 <li class="active"><a href="#f">F</a></li>

如何使用jQuery实现这一点?

您可以像这样将其设置为活动状态

$('.nav li').click(function(){
    $('.nav li').removeClass('active');
    $(this).addClass('active');
})

您可以像这样将其设置为活动状态

$('.nav li').click(function(){
    $('.nav li').removeClass('active');
    $(this).addClass('active');
})

您可以使用以下代码:


您可以使用以下代码:


我的解决方案在创建restful站点时运行良好

主要内容如下:

其工作原理如下:

1查找URL的主路径。例如,如果url为,它将获取项目

JS代码段

2然后,它使用连接引用特定按钮的列表元素的ID。例如: “导航栏”+主路线与“导航栏项目”相同

然后使用addClass'active'添加“active”类

JS代码段

HTML代码段

缺点


要使其工作,您的路由需要与要突出显示的元素的索引具有相同的名称。

我的解决方案在创建restful站点时运行良好

主要内容如下:

其工作原理如下:

1查找URL的主路径。例如,如果url为,它将获取项目

JS代码段

2然后,它使用连接引用特定按钮的列表元素的ID。例如: “导航栏”+主路线与“导航栏项目”相同

然后使用addClass'active'添加“active”类

JS代码段

HTML代码段

缺点


要实现这一点,您的路由需要与要突出显示的元素的索引具有相同的名称。

如果您仅在一个页面上使用导航栏,则以下方法将非常有用,但如果您实际在页面之间跳转,则您必须使用cookie或php等其他方法实现解决方案。以下方法将如果您只在一个页面上使用导航栏,但是如果您实际上在页面之间跳转,那么您必须使用cookie或php等其他工具来实现解决方案,这将非常有用。
var main_route = (window.location.pathname.split("/")[1]);
$('#navbar_' + main_route).addClass('active');
<li id="navbar_projects"><a href="/projects">Projects</a></li>