1

我有一类 div('open'),其中包含另一类 div('items'),如下所示:

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

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

我要做的是向下滑动单击的“打开”类中的所有“项目”类 div。

到目前为止我有

$(document).ready(function () {

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

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

    });

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

谢谢,约翰

4

3 回答 3

4

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

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

:first-child用于获取每个级别(以及每个“分支”)的第一个子元素,.children()或者子选择器(>用于获取所有直接/“第一级”子元素。

于 2010-09-12T23:25:11.763 回答
2

怎么样

$(".open").click(function() {
    $(this).children().slideDown(1000);
});
于 2010-09-12T23:26:07.903 回答
0

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

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

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

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

于 2010-09-12T23:26:29.167 回答