2015-09-25 56 views
1

我對Jquery真的很陌生,並且試圖弄清楚爲什麼我從另一個用戶那裏獲得的JQuery代碼不起作用,當我將id屬性放在ol標籤中時,但工作正常時,id屬性被放置在導航標籤中。如果有人能這麼好心向我解釋這個問題,謝謝。好奇的切換案例

HTML

<nav id="cat"> 
     <ol> 
     <li><a title="" href="#1">1;</a></li> 
     <li><a title="" href="#2">2</a></li> 
     </ol> 
    </nav> 

    <!-- DOES NOT WORK --> 
    <nav class="sub"> 
     <ol id="1"> 
     <li><a title="" href="">1a</a></li> 
     </ol> 
    </nav> 

    <!-- WORKS --> 
    <nav class="sub" id="2"> 
     <ol> 
     <li><a title="" href="">2a</a></li> 
     </ol> 
    </nav> 

JQuery的

var $subs = $('.sub'); 
    $('#cat > ol > li > a').click(function() { 
     var href = $(this).attr('href'), 
     $target = $(href); 
     $target.stop().slideToggle('slow'); 
     $subs.not($target).stop().slideUp('slow'); 
    }); 

這裏是小提琴 enter link description here

+0

'$ subs'是的''

回答

0

移動id=1到孩子ol指OL不再也.sub。你需要IDS都轉移到孩子ol秒,然後更新$sub選擇是.sub > ol

http://jsfiddle.net/41rh3n4w/

+0

這似乎不起作用。 – ski

+0

我想我看着錯誤的「ol」。正如@Eraph所說,你的問題在於$ subs。我會更新我的回答 –

+0

這似乎並沒有工作要麼感謝幫助,但。 – ski