jQuery 选择器:逻辑或

Posted

技术标签:

【中文标题】jQuery 选择器:逻辑或【英文标题】:jQuery selectors: logical OR 【发布时间】:2011-01-24 16:37:27 【问题描述】:

我现在似乎无法只见树木不见森林(已经看过 api 文档)。 它与 jQuery 选择器有关:我要做的是选择所有具有类 subtitleheadsection 的元素。像这样的东西:$('.headsection || .subtitle');

更具体地说:我想将此选择器与函数 nextUntil 一起使用。

$content = $some_elements.eq(0).nextUntil('.headsection || subtitle');

据我所知,|| 在 jQuery 的选择器中不可用。那么实现这一目标的最佳方法是什么?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

与 CSS 选择器中的相同:

$('.headsection, .subtitle');

【讨论】:

【参考方案2】:

怎么样:$some_elements.eq(0).nextUntil('.headsection, .subtitle');

至少对我有用。阅读multiple selectors。

【讨论】:

天啊,这行得通。当我浏览文档时,我认为逗号会像 AND 一样工作。谢谢@all @RamboNo5 我正在考虑添加 || 的完全相同的逻辑思维但仔细想想,css是如何工作的,为什么我一开始没想到逗号哈哈【参考方案3】:

只需用逗号分隔它们:

$content = $some_elements.eq(0).nextUntil('.headsection, subtitle');

【讨论】:

【参考方案4】:

您实际上并不需要这样的逻辑 OR,$('.headsection, .subtitle') 应该可以完成这项工作。

【讨论】:

【参考方案5】:

jQuery 使用 CSS 选择器语法,所以如果您知道这一点,只需将相同的选择器放入 jQuery 中,bob 就是您的隐喻叔叔。 jQuery 使用 sizzle 选择器引擎,它支持几乎所有的 CSS3 选择器:)

正如大家已经说过的那样 - 这样做的方法是:$content = $some_elements.eq(0).nextUntil('.headsection, subtitle');

【讨论】:

【参考方案6】:

多重选择器是否适用于您正在做的事情? Api doc is here.

【讨论】:

以上是关于jQuery 选择器:逻辑或的主要内容,如果未能解决你的问题,请参考以下文章

如果 id 有 '.',则 JQuery 选择器逻辑失败在价值。有啥解决办法吗?

jQuery 选择器

jQuery 选择器

在 jQuery 选择器中混合逻辑 AND 和 OR

jQuery选择器

jQuery 选择器 与 事件