我有一类Divs(“开放”)包含另一类的Divs(“项目”):

<div class="open">
    <div class="item">
    this is a test 1
    </div>

    <div class="item">
    this is a test 2
    </div>
</div>

我想做的是单击“开放”类中的所有“项目”类divs的滑动。

到目前为止

$(document).ready(function () {

    $('.open').click(function () {

        $(this).find(':first-child').slideDown('1000');

    });

但这不起作用。有什么建议么?

谢谢,约翰

有帮助吗?

解决方案

代替 :first-child 你要 直接的孩子, ,在这种情况下可以使用 .children(), , 像这样:

$('.open').click(function () {
  $(this).children().slideDown('1000');
});

:first-child 是为了在每个级别(以及每个“分支”)中获取第一个子元素, .children() 或者 儿童选择者(>) 是为了让所有即时/“第一级”儿童。

其他提示

怎么样

$(".open").click(function() {
    $(this).children().slideDown(1000);
});

首先,我认为您实际上正在关闭 $(document).ready, ,由于在您发布的代码块中,它没有关闭。确保您在代码中这样做。

第二,你不只是在寻找 children().open?在这种情况下,您想要

$(document).ready(function() {
  $('.open').click(function() {
    $(this).children('.item').slideDown('1000');
  });
});

编辑: :感谢评论,我删除了 live() 建议。

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