for循环检查点击了哪个div

时间:2015-10-02 12:55:08

标签: javascript jquery for-loop

我有一个类似的功能

$(document).mouseup(function (e)
{
    var container = $("#id1");
    if (!container.is(e.target) // if the target of the click isn't the     container...
        && container.has(e.target).length === 0) // ... nor a descendant of the container
    {
        container.fadeOut();
    }

    var container2 = $("#id2");
    if (!container2.is(e.target) // if the target of the click isn't the container...
        && container2.has(e.target).length === 0) // ... nor a descendant of the container
    {
        container2.fadeOut();
    }
}

它基本上检查,如果点击发生在div之外,如果是,则div淡出。但是,我喜欢15-20来检查并想知道是否存在比复制和粘贴更短的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:1)

给每个div都是同一个类并尝试这个:

 $(".yourClass").each(function() {

    if (!this.is(e.target) // if the target of the click isn't the container...
            && this.has(e.target).length === 0) // ... nor a descendant of the container
    {
        this.fadeOut();
    }

});