проблема выбора первого потомка вложенных элементов - PullRequest
1 голос
/ 25 марта 2012

Я пытаюсь выбрать первый элемент строки (<li>) с классом "subnav".

Я просто не могу получить его:

html:

<nav>
<ul class="navigation">

 <li class="logo"><ul>
    <li><a href="index.htm"><img src="images/rh_logo_v5.png" alt="roundhaus logo"/></a></li>
</ul></li>
<li class="subnav"><ul>
    <li><a href="index.htm">home</a></li>
   </ul></li>
<li class="subnav"><ul>
    <li><a href="reclaimedwood.htm">reclaimed wood</a></li>
       <li><a href="design.htm">design</a></li>
   </ul></li>
  <li class="subnav"><ul>
    <li><a href="flooring.htm">flooring</a></li>
    <li><a href="paneling.htm">paneling</a></li>
    <li><a href="beams.htm">beams</a></li>
</ul></li>
<li class="subnav"><ul>
    <li><a href="shelving.htm">shelving</a>
    </li><li><a href="mantels.htm">mantels</a></li>
</ul></li>
<li class="subnav"><ul>
    <li><a href="news.htm">news</a></li>
</ul></li>
<li class="subnav"><ul>
    <li><a href="woodtypes.htm">wood types</a></li>
    <li><a href="phrases.htm">phrases</a></li>
</ul></li>

</ul>
</nav>

Каким будет CSS-селектор для первого экземпляра позиции с классом "subnav"?

Ответы [ 2 ]

1 голос
/ 25 марта 2012

Если первый элемент .subnav начинается сразу после одного элемента .logo, вы можете использовать

li.logo:first-child + li.subnav

Обратите внимание, что :first-child в вашей разметке на самом деле .logo, а не один из .subnav элементов. Если вы пытались использовать li.subnav:first-child, это причина, по которой он не работает.

0 голосов
/ 25 марта 2012

Просто используйте

"li.subnav:first"

Если вы используете jQuery, вы можете получить первый subnav с помощью:

$("li.subnav:first")

Надеюсь, это поможет.

...