如何选择具有特定类别的li?

时间:2012-09-26 14:40:55

标签: jquery jquery-selectors dom-traversal

<ul id="attached_deals_tab" class="nav nav-tabs">
  <li class="active">
    <a data-toggle="tab" href="#Test1">Test1</a>
  </li>
  <li class="">
    <a data-toggle="tab" href="#Test2">Test2</a>
  </li>
</ul>

有了这样的jquery,我可以说给我所有列表项:

$('#attached_deals_tab li');

但是我怎么能说只显示li class="active"?请一行。

我知道如何否定它:

$('#attached_deals_tab li:not(.active)');

但不是相反......

5 个答案:

答案 0 :(得分:20)

$('#attached_deals_tab li.active');

答案 1 :(得分:4)

这应该这样做,语法与CSS中的相同:

$('#attached_deals_tab li.active');

答案 2 :(得分:1)

一旦指定了ul id,您就可以使用该类:

$("#attached_deals_tab .active");

除非你有li以外的东西,并且active类也应用了某些东西,这很奇怪。

答案 3 :(得分:0)

简单,做

$('#attached_deals_tab li.active').(...)

答案 4 :(得分:0)

您应该使用子选择器为可能的未来嵌套列表准备代码:

$('#attached_deals_tab > .active')

它只会选择直接的孩子。根据规范,ul只能将li元素作为其子元素,因此在使用子选择器时,.active应该足够,无需指定li.active。< / p>

通过嵌套列表,我的意思是这样的:

<ul id="attached_deals_tab">
    <li class="active"></li>
    <li></li>
    <li>
        <ul>
            <li class="active"></li>
            <li></li>
        </ul>
    </li>
</ul>

阅读documentation on jQuery Selectors也会有很大帮助。