jQuery 选择器:逻辑或
Posted
技术标签:
【中文标题】jQuery 选择器:逻辑或【英文标题】:jQuery selectors: logical OR 【发布时间】:2011-01-24 16:37:27 【问题描述】:我现在似乎无法只见树木不见森林(已经看过 api 文档)。
它与 jQuery 选择器有关:我要做的是选择所有具有类 subtitle
或 headsection
的元素。像这样的东西:$('.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 选择器:逻辑或的主要内容,如果未能解决你的问题,请参考以下文章