Comment sélectionner uniquement de haut niveau li récursive menu?
Comment puis-je sélectionner uniquement le premier niveau de li? Si je fais "ul li", il sélectionne également les enfants. Est-il un moyen pour sélectionner le niveau supérieur et non les enfants à l'aide de CSS? Sinon, je suis ok avec l'aide de jQuery, mais comment pourrais-je le choisir dans ce cas?
<ul>
<li class="administration first">
<a href="/administration.aspx"><span>Administration</span></a>
<ul>
<li class="users first selected"><a href="/administration/users.aspx"><span>Users</span></a></li>
<li class="forms last"><a href="/administration/forms.aspx"><span>Forms</span></a></li>
</ul>
<div style="clear: both;"></div>
</li>
<li class="analytics"><a href="/analytics.aspx"><span>Analytics</span></a></li>
<li class="options"><a href="/options.aspx"><span>Options</span></a></li>
<li class="system last"><a href="/system.aspx"><span>System</span></a></li>
</ul>
Quelle est la version de CSS?
Dans la liste ci-dessus ce que vous voulez de style? Ces deux li: <li class="administration de la première"> et <li class="utilisateurs de la première sélection"> ou juste le premier?
OP voulais de premier niveau
$('ul > li')
est à peu près le même que $('ul li')
parce que li balises viennent toujours après balises ul. Et ni les réponses à ses questions.Dans la liste ci-dessus ce que vous voulez de style? Ces deux li: <li class="administration de la première"> et <li class="utilisateurs de la première sélection"> ou juste le premier?
OP voulais de premier niveau
<li>
éléments, ce qui signifie que tous les enfants immédiats de la ultrapériphériques <ul>
.OriginalL'auteur TruMan1 | 2010-10-08
Vous devez vous connecter pour publier un commentaire.
Vous auriez besoin de l'élément ou de la classe qui est au-dessus de la première ul, puis spécifiez
{parent-selector} > ul > li
.OriginalL'auteur ClarkeyBoy
$("ul:première > li").
Un vote pour chaque 4 caractères...
OriginalL'auteur MrAwesome
Si votre entreprise a une classe ou un ID, vous pouvez faire quelque chose comme ceci:
Voté en arrière jusqu'à zéro, pourquoi était-ce -1?
D'accord. Si je me trompe, j'aimerais savoir pourquoi alors j'ai peut être le droit de la prochaine fois que je dois répondre à une question. @Deebster - Merci pour le vote de me sauvegarder. Je l'apprécie.
Le vote peut venir de votre (brève) réponse originale à cette question de
$('ul li')
, mais des explications ont été donnés, et il doit avoir été supprimée après la réponse a été fixé.OriginalL'auteur JasCav
Une solution rapide, si possible serait d'ajouter un nom de la classe sur l'extérieur, ul et sélectionnez avec
$('ul.myClassName > li')
.Une autre option:
$('ul > li:has(ul)')
il vous donnera tous, mais le dernier niveau d'imbrication.OriginalL'auteur Alin Purcaru
Vous pouvez utiliser:
Cela permet de sélectionner le niveau supérieur seulement, mais vous aurez envie d'utiliser une sorte d'id ou de sélecteur de classe sur la première ul en tant que bien ou il pourrait interférer avec le contenu de la page etc
OriginalL'auteur John
Le sélecteur jQuery syntaxe pour parent/enfant est:
Avec la structure que vous avez, vous pouvez avoir besoin de spécifier le
ul
élément parent.Quelqu'un reçoit downvote heureux (voir ma réponse, aussi). +1 en arrière pour vous parce que je n'aime pas les downvotes sans raison.
Je n'ai pas voter vous, mais cela vous donnera l'enfant
<li>
éléments de tous<ul>
, y compris la imbriqués l'un(s). Vous devez ajouter un spécificateur indique l'extérieur-plus<ul>
. Cet exemple alerte6
au lieu de4
, indiquant que tous les<li>
éléments ont été sélectionnés.OriginalL'auteur Oded
De travail pour ce cas particulier, mais vous êtes mieux de donner le top au niveau d'une classe ou id.
Quelque chose comme:
Semble plus facile à suivre que d'avoir à sélectionner le parent de l'un de vos
li
sOriginalL'auteur sworoc
Comment sur
$('ul li').not('ul ul li')
Et vous pourriez faire plus démunis à exclure
ul ol li
etol ul li
si vous avez besoin deOriginalL'auteur SteveC
Ajouter une classe à la première, si il y en a un avec
Ce qui a quelques problèmes avec ie8 et inférieur.
OriginalL'auteur Jarkko Oksanen
À l'aide de JQuery traversée qui fonctionne généralement mieux:
Donné, il s'agit de la première UL sur la page:
Étant donné que l'élément parent a un ID:
Compte tenu de l'UL a une classe:
Compte tenu de l'UL ID:
Donné l'exemple de la première LI avoir une classe spécifique:
OriginalL'auteur cmartin
$("ul li:first')
Mon code sera de retour chaque premier enfant li d'une ul, n'est-ce pas ce qu'il demande?
Je n'ai pas voter, mais l'OP voulait tous l'enfant
<li>
des éléments d'un seul ultrapériphériques<ul>
. C'est ce que l'on entend par de premier niveau. :o)OriginalL'auteur Hardwareguy