我目前正在为我的Web应用程序使用jQuery,Twitter Bootstrap和AngularJS。我一直在尝试路由,但jQuery不断给我语法错误,无法识别的表达式:#/ time,当我尝试点击时间选项卡,反之亦然。我不知道导致这个错误是什么,除了它是由#号引起的。我已经广泛地搜索,但没有效果。这里是我的代码:
<ul class="nav nav-tabs"> <li class="active"> <a href="#/main" data-toggle="tab" id="main-tab">Main</a> </li> <li> <a href="#/time" data-toggle="tab" id="time-tab">Time Reports</a> </li> </ul>
我需要保留斜杠,因为我使用它用于我的AngularJS路由(即index.html#/ main和index.html#/ time将在我的一个div中加载不同的内容)。
可能会导致此错误?
解决方法
我想在href中额外的斜杠指定目标的id。删除它们,它应该工作正常。
<ul class="nav nav-tabs"> <li class="active"> <a href="#main" data-toggle="tab" id="main-tab">Main</a> </li> <li> <a href="#time" data-toggle="tab" id="time-tab">Time Reports</a> </li> </ul>
Bootstrap将href值作为目标元素的id显示为标签内容。在这种情况下,在这种情况下,它将寻找不存在id =#/ time的东西。
如果你想保持href完好无损,你可以使用data-target属性
<a href="#/main" data-toggle="tab" data-target="#main" id="main-tab">Main</a>