javascript - 显示/隐藏未嵌套的 Div

标签 javascript jquery html css

正如您将在代码中看到的那样,内部有一个带有 anchor 的列表项,目标是单击 anchor 并显示也在列表项中的 div。

我的代码面临的问题是,如果您单击 div 信息,它也会隐藏它。我明白为什么我的代码失败了,但不知道如何将 .inner-options 定位为它自己的元素。

JS Fiddle Link

<li class="options">
   <a href="#">Top Options</a>
   <div class="inner-options">
        First Inside Info
    </div>    
</li>
<li class="options">
   <a href="#">Middle Options</a>
   <div class="inner-options">
        Middle Inside Info
    </div>    
</li>
<li class="options">
   <a href="#">Bottom Options</a>
   <div class="inner-options">
        Bottom Inside Info
    </div>    
</li>

.inner-options {
    display: none;
    background: #FFF;
    padding: 10px;
}
li {
    padding: 10px;
    background: #EEE;
    margin-bottom: 20px;
}

$('.options').click(function () {
    var target = $(this).find('.inner-options');

    if ($(target).is(":hidden")) {
        $(target).show(300);
    } else {
        $(target).hide(300);
    }
});

我的问题是,当适当的 anchor 被点击时,最简单的函数是什么来显示和隐藏.inner-options

最佳答案

您可以将事件绑定(bind)到 anchor 元素。该事件仅附加到 anchor 而不附加到 div 元素:

$('.options a').click(function () {
  var target = $(this).next();
  target.toggle(300)
});

Working Demo

关于javascript - 显示/隐藏未嵌套的 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30342667/

相关文章:

javascript - jQuery - 变量范围问题

javascript - 保存模型之前等待更改处理程序完成

javascript - 行复选框在 jQuery 数据表中不起作用

jquery - 未知的 CSS 问题 - Divs 不会堆叠,我已经完全不明白为什么会这样

html - 如何制作包含多个段落的div省略号?

html - Web SQL 数据库将在浏览器中保留多长时间?

javascript - 从 URL 添加 SVG 渲染黑色图像

javascript - HTML 表单自动填充

javascript - 如何在单击按钮时显示新的 HTML 表格

html - 与在 IE8 浏览器中以 IE7 标准模式呈现的同一页面相比,在 IE7 中呈现的页面是否会有任何差异?