Javascript 我可以使用Jquery()创建具有多个元素的选择器吗

Javascript 我可以使用Jquery()创建具有多个元素的选择器吗,javascript,jquery,jquery-selectors,closest,Javascript,Jquery,Jquery Selectors,Closest,我有一个click事件的监听器,我需要从中排除一些元素 现在我的列表正在增长,所以我正在寻找一种更好的方法来“捆绑”选择器中的多个元素 这就是我所拥有的: $(document).on('click tap', function(event) { if ($(event.target).closest('div:jqmData(panel="popover")').length > 0 || $(event.target).closes

我有一个click事件的监听器,我需要从中排除一些元素

现在我的列表正在增长,所以我正在寻找一种更好的方法来“捆绑”选择器中的多个元素

这就是我所拥有的:

$(document).on('click tap', function(event) {               
    if ($(event.target).closest('div:jqmData(panel="popover")').length > 0 ||
        $(event.target).closest('div.pop_menuBox').length > 0 ||
        $(event.target).closest('.toggle_popover').length > 0 ) ||
        $(event.target).closest('.ui-selectmenu').length > 0 {
          return; 
    }
    // do stuff
});
有没有更好的方法排除这些元素

谢谢你的帮助

使用逗号

if ($(event.target)
     .closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
     return; 
}

根据jquery文档,您可以为以下对象提供多个选择器:

您可以指定CSS选择器,这意味着:您可以使用逗号指定两个或多个选择器:

if($(event.target).closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
    return; 
}

你能更新jquery工作的HTML吗?你不能只给你想要检查的每个元素一个类吗?不知道你的意思吗?我正在使用jQuery1.7.1(和jQueryMobile)是的,我也读过这篇文章。我有点不确定jQuery页面上的“这个签名(仅!)在jquery1.7中被弃用。这个方法主要用于内部或插件作者。”应该是什么意思?什么是“签名”?谢谢你指出这一点。对你有用吗?我还很好奇为什么jQuery在示例中将它的选择器放在一个数组中:`var close=$(“li:first”).closest([“ul”,“body”])`好啊我试过了。如果我用逗号做一个常规选择器,它会工作。我假设不再支持数组。稍后我们将对此进行测试