点击这个或那个,然后做点什么

时间:2012-06-22 12:34:00

标签: jquery selector

我认为标题是不言自明的。

我想在用户点击链接上的叠加或关闭时关闭div。我知道你可以写两个这样的函数:

$("#close-search").click(function() {
    $("#branding #searchform").fadeOut("fast");
    $("#global-overlay").fadeOut("fast");
});

$("#global-overlay").click(function() {
    $(this).fadeOut("fast");
    $("#branding #searchform").fadeOut("fast");
});

或者您可以编写一个函数,如下所示:

function closeSearch {
    $(this).fadeOut("fast");
    $("#branding #searchform").fadeOut("fast");
}

$("#close-search").click(function() {
    closeSearch();
});

$("#global-overlay").click(function() {
    closeSearch();
});

我尝试了这个,但它没有用。

$("#close-search", "#global-overlay").click(function() {
        $("#branding #searchform").fadeOut("fast");
        $("#global-overlay").fadeOut("fast");
    });

但有可能在一行中写这个吗? (类似于$("#close-search" OR #global-overlay")

3 个答案:

答案 0 :(得分:25)

逗号分隔表示这个或那个

$("#close-search, #global-overlay")

多个selector

答案 1 :(得分:3)

试试这个

$("#close-search, #global-overlay").click(function() {
      $("#branding #searchform").fadeOut("fast");
      $("#global-overlay").fadeOut("fast");
});

答案 2 :(得分:0)

未测试:

试试这个:

$("#close-search, #global-overlay").click(function() {
        $("#branding #searchform").fadeOut("fast");
        $("#global-overlay").fadeOut("fast");
    });

注意选择器中的字符串不像数组一样被分割 - 而是Sizzle选择器会为你做这个。