切换的奇怪案例

时间:2015-09-25 01:39:43

标签: javascript jquery html

我是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

1 个答案:

答案 0 :(得分:0)

ol移到孩子.sub上意味着该ol不再是ol。您需要将两个ID移动到子$sub,然后将.sub > ol选择器更新为result_hash = {} arr = ["dog", 2, "big house"] arr.each do |el| if el.is_a?(String) result_hash[el] = el.length elsif el.is_a?(Fixnum) result_hash[el] = el ** 2 end end

http://jsfiddle.net/41rh3n4w/