jquery选择器问题

发布于 2024-11-06 12:39:14 字数 390 浏览 0 评论 0原文

我有这样的标记:

<UL>
    <LI class=odd>bla</LI>
    <LI class=even>bla</LI>
    <LI class=odd>bla</LI>
    <LI class=even>bla</LI>
    <LI class=odd>bla</LI>
    <LI class=even>bla</LI>
</UL>

我的问题:如何仅使用一个选择器选择所有像“奇数或偶数类”这样的 li? 我不能简单地使用 $("li") 因为 li 也可能包含 li 的

感谢

i'm having this markup:

<UL>
    <LI class=odd>bla</LI>
    <LI class=even>bla</LI>
    <LI class=odd>bla</LI>
    <LI class=even>bla</LI>
    <LI class=odd>bla</LI>
    <LI class=even>bla</LI>
</UL>

my question: how can i select all lis like "with class odd OR even" using just one selector?
i can't simply just use $("li") because the li's also might contain li's

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

爱情眠于流年 2024-11-13 12:39:14

使用多重选择器

$('li.odd, li.even');

Use the multiple selector:

$('li.odd, li.even');
痴骨ら 2024-11-13 12:39:14

您不需要指定这些类;您可以简单地编写

$('ul.Root > li')

这将选择所有

  • 元素,这些元素是
      Root 的直接子元素
      它不会选择任何嵌套的

  • 您可以使用所需的任何类或 ID 选择器来选择父

    You don't need to speify those classes; you can simply write

    $('ul.Root > li')
    

    This will select all <li> elements that are direct children of the <ul> with class Root.
    It won't select any nested <li>s.

    You can select the parent <ul> using any class or ID selector you want.

    顾挽 2024-11-13 12:39:14

    首先,您需要将标签更改为小写,并将您的类放在引号中。

    <ul>
        <li class="odd">bla</li>
        <li class="even">bla</li>
        <li class="odd">bla</li>
        <li class="even">bla</li>
        <li class="odd">bla</li>
        <li class="even">bla</li>
    </ul>
    

    然后你可以用这种

    $('li.odd, li.even') 
    

    更好的方式选择它们......

    <ul id="theUl">
        <li class="odd">...</li>
        <li class="even">...</li>
        <li class="odd">...</li>
        <li class="even">...</li>
        <li class="odd">...</li>
        <li class="even">...</li>
    </ul>
    

    并且

    $('#theUl li')
    

    firstly, you will want to change your tags to lowercase, and put your classes in quotes.

    <ul>
        <li class="odd">bla</li>
        <li class="even">bla</li>
        <li class="odd">bla</li>
        <li class="even">bla</li>
        <li class="odd">bla</li>
        <li class="even">bla</li>
    </ul>
    

    Then you can select them this way

    $('li.odd, li.even') 
    

    an even better way...

    <ul id="theUl">
        <li class="odd">...</li>
        <li class="even">...</li>
        <li class="odd">...</li>
        <li class="even">...</li>
        <li class="odd">...</li>
        <li class="even">...</li>
    </ul>
    

    and

    $('#theUl li')
    
    挽心 2024-11-13 12:39:14

    试一试:

     $("li.odd, li.even")
    

    顺便说一下,您的标签应该使用小写。

    Give this a shot:

     $("li.odd, li.even")
    

    By the way, you should use lower case for your tags.

    沩ん囻菔务 2024-11-13 12:39:14

    就像 Nick Spiers 所说,但请确保添加标签名称以提高效率,

    $("li.even") // selects only even class
    $("li.odd")  // selects only odd class
    $("li.even, li.odd") // selects both odd and even
    

    请注意,如果您创建的选择器不包含标签名称而仅包含类。 jQuery 必须遍历所有 DOM 元素来查找匹配项。如果您使用标记名,那么 jQuery 将使用 document.getElementsByTagname() 来提高效率。

    Like Nick Spiers said but make sure you add a tag name for efficiency

    $("li.even") // selects only even class
    $("li.odd")  // selects only odd class
    $("li.even, li.odd") // selects both odd and even
    

    Note if you make a selector without the tag name and only the class. jQuery must iterate though all DOM elements to find matches. if you us the tagname then jQuery makes use of document.getElementsByTagname() to be more efficient.

    嗫嚅 2024-11-13 12:39:14

    类选择器

    $("li.even") or $("li.odd")
    

    要获取 2 个类中任一类的所有 li:

    $("li.even, li.odd")
    

    class selectors

    $("li.even") or $("li.odd")
    

    To grab all li's with either of the 2 classes:

    $("li.even, li.odd")
    
    朱染 2024-11-13 12:39:14

    给你的第一个 ul 一个类或 id:

    <ul class="something">
    </ul>
    
    $('ul.something > li.even, ul.something > li.odd')
    

    这只会获得最高的 li

    Give your first ul a class or id:

    <ul class="something">
    </ul>
    
    $('ul.something > li.even, ul.something > li.odd')
    

    This only gets the highest li's

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文