一尘不染

jQuery语法错误:#​​/

angularjs

我目前在我的Web应用程序中使用jQuery,Twitter Bootstrap和AngularJS。我一直在尝试进行路由,但是`Syntax error,
unrecognized expression:

/time`每当我尝试单击时间选项卡时,jQuery就会一直给我,反之亦然。我不知道是什么引起了这个错误,除了它是由#号引起的。我已经在Google上进行了广泛的搜索,但无济于事。这是我的代码:

<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#/mainindex.html#/time并将在我的div中加载不同的内容)。可能是什么原因导致此错误?


阅读 193

收藏
2020-07-04

共1个答案

一尘不染

我猜在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>

演示版

2020-07-04