2013-01-21 44 views
0

我想創建一個帶有標籤視圖的簡單構建菜單。 昨天晚上我改變了一些東西后,它不再工作。標籤視圖不起作用

<div id="builder"> 
    <div id="wrapper"> 
    <div id="tabContainer"> 
    <div class="tabs"> 
     <ul> 
     <li id="tabHeader_1">Page 1</li> 
     <li id="tabHeader_2">Page 2</li> 
     <li id="tabHeader_3">Page 3</li> 
     </ul> 
    </div> 
    <div class="tabscontent"> 
     <div class="tabpage" id="tabpage_1"> 
     <h2>Page 1</h2> 
     <p>Pellentesque habitant morbi tristique senectus...</p> 
     </div> 
     <div class="tabpage" id="tabpage_2"> 
     <h2>Page 2</h2> 
     <p>Pellentesque habitant morbi tristique senectus...</p> 
     </div> 
     <div class="tabpage" id="tabpage_3"> 
     <h2>Page 3</h2> 
     <p>Pellentesque habitant morbi tristique senectus...</p> 
     </div> 
    </div> 
    </div> 
</div> 

Sample Code

Source

My Test Site

+0

'昨天晚上我改變了一些東西后,它不再工作了.'可能有助於瞭解你改變了什麼? –

+0

你有網站上的jQuery UI,爲什麼不使用它的標籤插件呢? – dmi3y

+0

對不起,早上05:00早上 爲什麼我的test-webserver的鏈接被刪除? http://kappss.funpic.de/world/index2.php 我很喜歡這個例子的設計 – user547995

回答

0

此: 在標籤之間的開關被打破,所有選項卡的內容將在第一個選項卡

片段顯示行var pages = container.querySelectorAll(".tabpage");返回一個集合ngth 0.

但是,如果將其更改爲var pages = document.querySelectorAll(".tabpage");,則它工作正常。

原因是您的.tabpage不是您的container(即#tabContainer)的子女。看看你的HTML 仔細(從提琴):

<div id="tabContainer"> <!-- this is what you set at "container" in JS --> 
    <div class="tabs"> 
     <ul> 
      <li id="tabHeader_1">Military</li> 
      <li id="tabHeader_2">Supply</li> 
      <li id="tabHeader_3">Research</li> 
     </ul> 
    </div> <!-- .tabs --> 
</div> <!-- #tabContainer --> 
<div class="tabscontent"> 
    <div class="tabpage" id="tabpage_1"> <!-- this is NOT a child of #tabContainer --> 

fiddle似乎是工作。

+0

抱歉,但我沒有得到這個。我在我的網絡服務器上編輯過,你可以看看嗎? – user547995