所以,我有几个容器与此标记在页面上:

        <div class="box w400">
            <div class="box-header">
                <span class="expand-collapse">expand/collapse</span>
                <h3>Heading</h3>
            </div>
            <div class="box-content">
                <p>Some content here...</p>
            </div>
        </div>

和我试图做到这一点点击.expand崩溃跨度之后,.box的内容DIV将向上或向下滑动(切换)。

下面是jQuery的我使用,我想与实现这一目标最近():

        $(document).ready(function() {
            $('.expand-collapse').click(function() {
                $(this).closest('.box-content').slideToggle('slow');
            });
        });

但它不工作由于某种原因:(

有帮助吗?

解决方案

尝试这种情况:

$(document).ready(function() {
    $('.expand-collapse').click(function() {
        $(this).parent().next('.box-content').slideToggle('slow');
    });
});

,其选择父div的下一个同级,它不利用最接近的。

其他提示

接近的()找到关闭父元素。在你的情况,跨度不具有类.box的内容的任何父元素。为什么不只是做$的slideToggle(“慢‘)(’框的内容。”)。 ??

编辑:我错过了,你有几个这些页面上的一部分。父()。下一个应该工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top