SlideToggle特定Div onClick Checkbox尚未运行?

时间:2014-04-26 19:41:11

标签: javascript jquery html css slidetoggle

关注此小提琴http://jsfiddle.net/swQLg/10/尚未使用此设置http://jsfiddle.net/u56Zv/

HTML:

<div class="PanelWhen" id="PanelWhen">
        That
</div>

<div class="btn-group" data-toggle="buttons">
  <label class="btn whenBtn">
    <input type="checkbox" id="whenBtn"> When
  </label>
</div>

CSS:

#PanelWhen {
  display: none;
}

JS:

<script>
$(document).ready(function () {
    $("#whenBtn").on('click', function () {
        var $when = $(this).next("#PanelWhen");
        $when.slideToggle();
        $("#PanelWhen").not($when).slideUp();
    });
});
</script>

1 个答案:

答案 0 :(得分:1)

您正在使用jQuery,因此您必须确保将该库包含在小提琴中。

其次,.previous方法搜索兄弟元素 - 它不会在DOM树中的任何位置查找。请注意,在第一个示例中,它查找next('.ans')元素 - 它可以正常工作,因为所有元素都是兄弟元素。

在您的示例中,您可能只想将$当var显示为您想要显示的特定元素,但如果您想在整个网站上获得可重复的结果,您应该考虑使用某种定位方法确定范围(即{ {1}},.parent.children.siblings.next等。)

这是你的新小提琴:

http://jsfiddle.net/u56Zv/2/