隐藏其他数据目标或div与当前不同

时间:2015-11-24 14:41:01

标签: javascript jquery html

当目标文件处于活动状态时隐藏其他div我有问题,因此,我的jQuery是:

$(".popup-itens").click(function () {
    var selector = "#" + $(this).data("target");

    $(selector).toggle();
    console.log(selector);
});

我只是想隐藏与data-targets不同的所有其他div $(this)

我已经尝试过if语句和其他内容,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:3)

您可以使用.not() method

否定当前元素(this
$('.popup-itens').not(this).hide();

因此它看起来像这样:

$(".popup-itens").click(function () {
    var selector = "#" + $(this).data("target");
    $(selector).toggle();
    $('.popup-itens').not(this).hide();
});

或者,根据标记,您还可以使用属性选择器选择具有data-target属性的所有元素,然后取消当前选择器:

$('[data-target]').not(selector).hide();