jQuery UI选项卡错误:片段标识符不匹配



我的代码:

<div id="tablesTabs">
        <ul>
            <li><a id="changed" href="#changedTable"><% "Changed" %></a></li>
            <li><a id="unchanged" href="#changedTable"><% "Unchanged"%></a></li>
        </ul>
    </div>
<div id="tablesDiv">
        <div id="changedTable" style="width:100%; height:430px;"></div>
    </div>

在javascript中:

$(function () {
        $("#tablesTabs").tabs({
            cache: true
        }).scrollabletab();
        loadTables();
    });
if ($('#tablesTabs').tabs("option", "selected") == 0) {
    //fill table with data
}
if ($('#tablesTabs').tabs("option", "selected") == 1) {
    //fill table with other data
}

第一个选项卡看起来不错,网格也不错。但当我点击第二个选项卡,我得到错误未捕获的jQuery UI选项卡:不匹配的片段标识符。问题是什么?如何解决?

首先,我会看看如果问题是,你的两个选项卡有相同的链接在他们的href属性。两者都有#changedTable,尝试为每个选项卡提供唯一的href。

其次,你的TAB设置看起来很陌生。也许这很好,但我总是把内容div放在标签div里面。

:

<div id="tabs">
  <ul>
    <li><a href="#tab-1">Something</a></li>
    <li><a href="#tab-2">Something else</a></li>
  </ul>
  <div id="tab-1">
    <p>Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla.</p>
  </div>
  <div id="tab-2">
    <p>Curabitur ornare consequat nunc. Aenean vel metus.</p>
  </div>
</div>

标签的href必须有#符号,标签内容的id不能有#。

我的例子是标签外的标签内容,根据官方JQuery示例https://jqueryui.com/tabs/

<!-- error  -->
<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Nunc tincidunt</a></li>
    <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
  </ul>
</div>
  <div id="tabs-1">
    <p>abc.</p>
  </div>
  <div id="tabs-2">
    <p>def.</p>
  </div>
  <div id="tabs-3">
    <p>ghi.</p>
  </div>
<!-- correct -->
<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Nunc tincidunt</a></li>
    <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
  </ul>
  <div id="tabs-1">
    <p>abc.</p>
  </div>
  <div id="tabs-2">
    <p>def.</p>
  </div>
  <div id="tabs-3">
    <p>ghi.</p>
  </div>
</div>

最新更新