如何在引导导航栏中切换活动导航链接而不编写额外的javascript?

如何在引导导航栏中切换活动导航链接而不编写额外的javascript?,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,有没有一种简单的方法可以在基本引导导航栏中切换活动链接,而无需编写任何javascript 这是我的导航栏 <div class="navbar navbar-static-top"> <div class="navbar-inner"> <div class="container"> <div> <ul class="nav" ng-show="isAuthen

有没有一种简单的方法可以在基本引导导航栏中切换活动链接,而无需编写任何javascript

这是我的导航栏

<div class="navbar navbar-static-top">
    <div class="navbar-inner">
        <div class="container">
            <div>
                <ul class="nav" ng-show="isAuthenticated">
                    <li class="active"><a href="/activity/create">Create Activity</a></li>
                    <li><a href="/activity/manage">Manage Activities</a></li>
                    <li><a href="/activity/su">Super User</a></li>
                </ul>
            </div>
        </div>
    </div>
</div>

好吧,我不是100%确定(我对javascript不是很在行),但是你可以做一些if语句

if($url=="/activity/create") {echo "class='active'";} 
这是php语法。试试JS


顺便说一句,您使用的是node.js,即js,因此没有js您将无法执行此操作。

您可以通过js将
属性设置为
“active”
。我使用一个外部脚本执行此操作,下面是一个片段:

setActive();
函数setActive(){
activePath=document.location.pathname;//获取当前页面的url
开关(活动路径){
//评估activePath(比嵌套IFs更有效)
案例“/正常运行时间/”:
//如果当前页面路径为/uptime/
document.getElementById('navuptime').className=“active”;
//将ID='navuptime'的元素类设置为“活动”
打破
//中断切换语句,我们都完成了
案例“/正常运行时间/域/”:
//如果当前页面路径为/uptime/domain/
document.getElementById('navuptime').className=“active”;
//与上面一样,将ID为='navuptime'的元素类设置为“活动”
document.getElementById('navdomain').className=“active”;
//还将嵌套的navbar元素类属性设置为“活动”
打破
//中断切换语句,我们都完成了
违约:
//如果未找到匹配项,则使用
打破
//如果找不到匹配的,我什么也不做
}
在向站点添加页面时,您还必须更新脚本,但这只是
switch
语句中的另一个
案例

以下是我的导航栏HTML的一个片段:

<div class="collapse navbar-collapse navbar-ex1-collapse nudge-left">
    <ul class="nav navbar-nav navbar-right">
        <li><a id="navwifi" href="/wifi">Guest WiFi</a></li>
        <li class="dropdown"><a id="navuptime" class="dropdown-toggle" data-toggle="dropdown" href="#">Uptime Monitoring<span class="caret"></span></a>
            <ul class="dropdown-menu">
                <li><a id="navwan1" href="/uptime/wan1">WAN 1 Connection</a></li>
                <li><a id="navwan2" href="/uptime/wan2">WAN 2 Connection</a></li>
                <li><a id="navdomain" href="/uptime/domain">Domain</a></li>
            </ul>
        </li>
    </ul>
</div><!-- /.navbar-collapse -->

你可以看到每个navbar元素都有一个唯一的ID供JS更新。这个方法对于我的小站点(少于50页)是可管理的

如果使用了诸如domain.com/uptime/page.html之类的页面URL,
开关
语句将找不到匹配项,正如上面所述…
document.location.pathname
将返回/uptime/page.html


我总是在每个目录中使用index.html文件来保持URL干净,我的访问者只需键入domain.com/uptime即可。

您使用的是什么语言?我可以向您展示它是Ruby on Rails还是PHP,但如果是其他语言,请添加相应的标记。此外,如果您没有使用任何后端语言,则必须使用Javascript。@nahtn是的,我在服务器和客户端(主要是Node.js和AngularJS)上都使用Javascript。在什么情况下?例如,在hover上?