隐藏所有不属于(this)元素的类成员?

时间:2013-10-18 17:08:05

标签: javascript jquery html

我在页面上有几个元素,结构如下:

<div>
    <button>
    <table id="table1" class='tableClass'>
        misc child elements
    </table>
</div>

重复6次。

点击<button>后,我想切换#table1的可见性,并隐藏非.tableClass的所有#table1

-

这就是我到目前为止,点击<button>时会触发它。

$('.tableClass').not(this.children()).fadeOut();

问题是我需要访问相应的.tableClassthis.children()行不是我想要的,因为我知道该表不是按钮的子节点,但我想不出一种简单的方法。

我知道这很直接,但我睡不着觉,没有喝咖啡:)

2 个答案:

答案 0 :(得分:1)

看到其他答案,但这是另一种方法:

$('button').on('click', function() {
    $('#table1').toggle();
    $('.tableClass[id != "table1"]').fadeOut();
});

答案 1 :(得分:0)

试试这个:

var table = $(this).closest('div').find('.tableClass').fadeIn();
$('.tableClass').not(table).fadeOut();