17
<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)');

但不是反过来...

4

5 回答 5

27
$('#attached_deals_tab li.active');
于 2012-09-26T14:41:39.817 回答
5

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

$('#attached_deals_tab li.active');
于 2012-09-26T14:42:05.060 回答
2

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

$("#attached_deals_tab .active");

除非你li在那里有除 s 以外的东西,并且该类也被应用了一些东西active,这会很奇怪。

于 2012-09-26T14:42:34.217 回答
1

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

$('#attached_deals_tab > .active')

它将仅选择直接子级。根据规范,anul只能有li元素作为它的子元素,所以在使用子选择器时,.active应该足够了,不需要指定li.active.

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

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

阅读有关 jQuery 选择器的文档也会有很大帮助。

于 2012-09-26T15:02:32.837 回答
0

简单,做

$('#attached_deals_tab li.active').(...)
于 2012-09-26T14:42:16.603 回答