2013-03-01 75 views
4

這裏是我的代碼: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> 

而且在使用JavasScript:

$(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選項卡:不匹配的片段標識符。有什麼問題以及如何解決它?

回答

8

首先, 我會看看問題是你的兩個標籤在他們的href屬性中有相同的鏈接。兩者都有#changedTable,請嘗試爲每個選項卡設置獨特的href。

其次, 您的選項卡設置對我來說看起來並不熟悉。也許這很好,但我總是有內部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> 
+0

有沒有機會讓標籤內容在標籤div之外? – Daniel 2013-11-12 10:35:03

+0

@丹尼爾 - 我不確定,你試過了嗎?由於它的id範圍,它不應該是任何問題,但標籤div可能會很好地定義範圍。試試吧,你會發現。 – Tapirboy 2013-11-14 09:51:37

+0

你可以,但它似乎會拋出一個錯誤。內容仍然會正常切換,但是。我將我的內容div移到了製表符div中,我的代碼不再拋出錯誤。也可能是由於我組合了一些來自Bootstrap的JS項目導致衝突,但只是將它們移動到製表符div中就消除了它,所以在這一點上我並不在乎。 – MattD 2014-10-16 14:18:23

4

標籤應該有#符號和標籤內容的ID不能有#的href。

+0

謝謝,這個評論幫助了我! – sweaty 2016-04-07 02:40:48

相關問題