1

我正在研究一个简单的 jQuery 元素,但我似乎无法选择正确的 div。我有 2 个名为“container_vragen”的 div,在 div 内有一些隐藏的 div。现在我有一些按钮可以显示隐藏的 div,但它会在两个“container_vragen”div 中显示。但我只想在其中一个 div 中显示它。

$('.open_sub_ja , .open_sub_no').click(function() {
        $(this).parents().find('.submenu').fadeIn(500);
    });

    $('.akkoord').click(function() {
        $(this).parents().find('.submenu').fadeOut(500);
    });

我这里有一个小的 jsFiddle http://jsfiddle.net/YGArt/

4

3 回答 3

1

您可以使用选择器过滤您的祖先:

$(this).parents(".container_vragen").find('.submenu').fadeIn(500);

更新了小提琴

于 2012-12-03T10:44:54.383 回答
0

代替parents()parent()像这样:

$(this).parent().find('.submenu').fadeIn(500);

因为.parents()将返回所有父级直到文档根目录,这不是您想要的,您只想将一个父级向上然后找到.submenu元素,所以只向上一个父级使用.parent().

于 2012-12-03T10:40:12.353 回答
0

使用.parent()代替.parents()

检查http://api.jquery.com/parents/提供的 jQuery API 文档

于 2012-12-03T10:41:13.767 回答