2012-09-26 16 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> 

Con un jQuery come questo, potrei dire farmi tutte le voci di elenco:Come selezionare un li con una classe specifica?

$('#attached_deals_tab li'); 

Ma come posso dire Fammi vedere la li che ha class="active"? In una riga per favore.

so come negarlo:

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

Ma non il contrario ...

+3

Questa è una domanda valida, che non riuscivo a capire. Non c'è motivo di minimizzare questo. Sarebbe come dire che nessuno dovrebbe porre domande e fare invece tutorial. – Houman

+4

In SO, i neofiti sono benvenuti, credo, non dovremmo idealmente sottovalutare a causa dell'inesperienza della persona che pone la domanda. Invece, dovremmo promuovere l'apprendimento. – techfoobar

+0

@techfoobar Dovremmo promuovere l'apprendimento, sì. È quello che sto facendo. I neofiti sono i benvenuti, ho aiutato molti di loro, ma dovrebbero mostrare qualche sforzo. Non penso "Come posso impostare qualcosa in grassetto nei CSS?" tipo di domande sono i benvenuti – kapa

risposta

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

Per maggiore efficienza, è anche possibile utilizzare $ ('# attached_deals_tab'). Find ('li.active'); – chteuchteu

4

Questo dovrebbe farlo, la sintassi è proprio lo stesso che nel CSS:

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

semplice, fare

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

Questo ha il potenziale per selezionare più di semplici elementi – jholloman

+0

Ok, allora posso renderlo 'li.active'. – SexyBeast

1

Si potrebbe utilizzare la classe di una volta che il ul id è stato specificato:

$("#attached_deals_tab .active"); 

Se non avete qualcosa di diverso li s lì e che qualcosa viene anche applicato la classe active, che sarebbe strano .

0

si dovrebbe usare il selettore bambino per preparare il vostro codice per possibili future liste annidate:

$('#attached_deals_tab > .active') 

selezionerà solo i figli diretti. Secondo le specifiche, un ul può avere solo elementi li come figli, quindi quando si utilizza il selettore di figlio, .active dovrebbe essere sufficiente, non è necessario specificare li.active.

Con liste nidificate, voglio dire qualcosa di simile:

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

lettura del documentation on jQuery Selectors sarà anche aiutare molto.

+0

Potrebbe il downguoter spiegare le sue ragioni (oltre ad essere un vero dolore)? Sono sempre felice di migliorare le mie risposte. – kapa

Problemi correlati