Javascript 我可以使用Jquery()创建具有多个元素的选择器吗
我有一个click事件的监听器,我需要从中排除一些元素 现在我的列表正在增长,所以我正在寻找一种更好的方法来“捆绑”选择器中的多个元素 这就是我所拥有的: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
$(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”])`好啊我试过了。如果我用逗号做一个常规选择器,它会工作。我假设不再支持数组。稍后我们将对此进行测试