Twitter Bootstrap nav nav-tabs在点击时不会改变

时间:2013-08-15 21:28:58

标签: css grails twitter-bootstrap nav

我喜欢nav-tabs的外观,所以我想使用它。这就是Web应用程序现在的样子:

nav nav-tabs screenshot

不幸的是,如果我点击其他标签(例如“Buscar alojamiento”),则活动标签不会更改。这是我的代码:

<ul class="nav nav-tabs">

    <li>        
        <g:link controller="usuario" action="show">         
            <g:message code="nav.usuario.show" default="Datos del usuario" />           
        </g:link>       
    </li>   

    <li class="active">
        <a href="${createLink(uri: '/')}">
            <g:message code="nav.home" default="Página de inicio" />
        </a>
    </li>

    <li>        
        <g:link controller="alojamiento" action="show">         
            <g:message code="nav.alojamiento.show" default="Buscar alojamiento" />          
        </g:link>       
    </li>   

</ul>

我也尝试删除class =“active”。没有标签处于活动状态。

2 个答案:

答案 0 :(得分:11)

检查Twitter Bootstrap组件中的“Tabbable Nav”示例。你必须拥有正确的html才能完成这项工作。例如:

<ul class="nav nav-tabs">
  <li class="active">
    <a href="#home" data-toggle="tab">Home</a>
  </li>
  <li><a href="#other" data-toggle="tab">Other</a></li>
  <li><a href="#">...</a></li>
</ul>
 <div class="tab-content">
   <div id="home" class="tab-pane active">
     <p>Home</p>
   </div>
   <div id="other" class="tab-pane">
     <p>Other</p>
   </div>
</div>

请参阅class已应用和href链接。

<强>更新

正如我们在评论中所讨论的,我们也可以使用Javascript更改它:

<script type="text/javascript">
    ...
    document.getElementById("home").setAttribute("class","active")

或者JQuery:

$('#home').attr('class','active')

答案 1 :(得分:3)

您需要Tabbable Nav才能在每个标签的内容之间切换。