2012-09-26 9 views
12
<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> 

Mit einem jquery wie diese, könnte ich mir alle Listeneinträge sagen erhalten:Wie wähle ich eine li mit einer bestimmten Klasse?

$('#attached_deals_tab li'); 

Aber wie kann ich sagen, zeigen Sie mir nur die li die class="active" hat? In einer Zeile bitte.

Ich weiß, wie es zu negieren:

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

Aber nicht umgekehrt ...

+3

Dies ist eine gültige Frage, die ich nicht herausfinden konnte. Es gibt keinen Grund, dies zu verwerfen. Es wäre so, als würde man sagen, dass niemand Fragen stellen und stattdessen Tutorien machen sollte. – Houman

+4

In SO sind Neulinge willkommen, ich glaube, wir sollten nicht ideal abstimmen wegen der Unerfahrenheit des Fragestellers. Stattdessen sollten wir das Lernen fördern. – techfoobar

+0

@techfoobar Wir sollten das Lernen fördern, ja. Das ist was ich tue. Neulinge sind sehr willkommen, ich habe vielen von ihnen geholfen, aber sie sollten sich etwas anstrengen. Ich denke nicht "Wie kann ich etwas in CSS fett machen?" Art der Fragen sind willkommen. – kapa

Antwort

17
$('#attached_deals_tab li.active'); 
+0

Für mehr Effizienz können Sie auch $ ('# attached_deals_tab') verwenden. Find ('li.active'); – chteuchteu

4

Dies sollte es tun, die Syntax ist genau die gleiche wie in CSS:

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

Einfach, tun

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

Dies hat das Potenzial, mehr als nur li Elemente auszuwählen – jholloman

+0

Okay, dann kann ich es 'li.active' machen. – SexyBeast

1

Sie könnten nur die Klasse benutzen, wenn die ul ID angegeben wurde: Wenn Sie etwas

$("#attached_deals_tab .active"); 

andere als li s drin haben und dass etwas auch die active Klasse angewendet wird, das wäre seltsam .

0

Sie sollten das Kind Selektor verwenden Sie den Code für eine mögliche zukünftige verschachtelte Listen vorzubereiten:

$('#attached_deals_tab > .active') 

Es wird nur direkte Kinder wählen. Gemäß der Spezifikation kann ein ul nur li Elemente als untergeordnete Elemente haben, so dass bei Verwendung des untergeordneten Selektors .active ausreichen sollte, keine Angabe li.active erforderlich ist.

Durch verschachtelte Listen, ich meine, so etwas wie dieses:

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

die documentation on jQuery Selectors Lesung wird auch helfen, eine Menge.

+0

Kann der Downvoter seine Gründe erklären (außer sooo verletzt zu sein)? Ich bin immer glücklich, meine Antworten zu verbessern. – kapa