我是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');
});
答案 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