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

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

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

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

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

感谢您的帮助!

【问题讨论】:

    标签: jquery jquery-selectors css-selectors


    【解决方案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.

            【讨论】:

              猜你喜欢
              • 2011-02-24
              • 1970-01-01
              • 2012-07-18
              • 2017-01-11
              • 1970-01-01
              • 2018-08-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多