首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >菜鸟切换问题

菜鸟切换问题
EN

Stack Overflow用户
提问于 2011-04-17 01:22:17
回答 2查看 82关注 0票数 2

这里我漏掉了什么?当我点击'h2 a‘链接时,.content ol应该会切换。我不明白为什么它不能工作:

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function(){
$(".content ol").hide();
$(".content h2 a").click(function(){
$(this).find(".content ol").toggle(400);
});
});
</script>

  <div class="content"> 
    <h2><a href="#">click me</a></h2>
    <ol>
      <p>Some text</p>
    </ol> 
  </div>
EN

回答 2

Stack Overflow用户

发布于 2011-04-17 01:27:31

问题是find查找当前所选eleemnt的后代元素。您正在查看this中的内容,它就是所单击的链接。显然,ol不在a元素中。

您需要使用closest,才能沿着树向上到达div,然后才能使用find

代码语言:javascript
复制
$(".content h2 a").click(function(){
    $(this).closest('.content').find("ol").toggle(400);
});
票数 1
EN

Stack Overflow用户

发布于 2013-03-25 14:00:38

@andy,我已经创建了一个jsfiddle,它可以为您清理一些幻灯片。应该可以在所有现代浏览器上运行。

http://jsfiddle.net/9QgmQ/3/

代码语言:javascript
复制
$(document).ready(function(){
    $(".content ol").hide();
        $(".content h2 a").click(function(){
        $('.content').find(" ol").slideToggle(400);
    });
});

您可能需要考虑使用$.(object).slideToggle()来实现平滑的向上/向下切换,而不是使用toggle()。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5688239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档