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

Avec un jquery comme ça, je pourrais dire me faire tous les éléments de la liste:Comment sélectionner un li avec une classe spécifique?

$('#attached_deals_tab li'); 

Mais comment puis-je dire que me montrer le li qui a class="active"? En une ligne s'il vous plaît.

Je sais comment le nier:

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

Mais pas l'inverse ...

+3

Ceci est une question valable, que je ne pouvais pas comprendre. Il n'y a aucune raison de baisser cela. Ce serait comme dire que personne ne devrait poser de questions et faire des tutoriels à la place. – Houman

+4

Dans SO, les débutants sont les bienvenus je crois, nous ne devrions pas idéalement voter en bas à cause de l'inexpérience de la personne qui pose la question. Au lieu de cela, nous devrions promouvoir l'apprentissage. – techfoobar

+0

@techfoobar Nous devrions promouvoir l'apprentissage, oui. C'est ce que je suis en train de faire. Les débutants sont les bienvenus, j'ai aidé beaucoup d'entre eux, mais ils devraient faire des efforts. Je ne pense pas "Comment puis-je définir quelque chose d'audacieux en CSS?" type de questions sont les bienvenus. – kapa

Répondre

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

Pour plus d'efficacité, vous pouvez aussi utiliser $ ('# attached_deals_tab'). Find ('li.active'); – chteuchteu

4

Cela devrait le faire, la syntaxe est la même chose que dans le CSS:

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

simple, ne

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

Cela a le potentiel de sélectionner plus que des éléments li – jholloman

+0

Bon, alors je peux le faire 'li.active'. – SexyBeast

1

Vous pouvez simplement utiliser la classe une fois a été spécifié l'ID ul:

$("#attached_deals_tab .active"); 

Sauf si vous avez autre chose que li s là-bas et que quelque chose est appliqué aussi la classe active, ce qui serait étrange .

0

Vous devez utiliser le sélecteur d'enfant pour préparer votre code pour les futures listes imbriquées possibles:

$('#attached_deals_tab > .active') 

Il sélectionneront les enfants directs. Selon le cahier des charges, un ul ne peut avoir li éléments que ses enfants, donc lorsque vous utilisez le sélecteur d'enfant, .active devrait suffire, pas besoin de préciser li.active.

Par listes imbriquées, je veux dire quelque chose comme ceci:

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

La lecture du documentation on jQuery Selectors aidera également beaucoup.

+0

Est-ce que le downvoter pourrait expliquer ses raisons (autres que d'être si blessé)? Je suis toujours heureux d'améliorer mes réponses. – kapa

Questions connexes