选择除第一级之外的后代

时间:2014-03-18 03:30:20

标签: css css-selectors

<ul>
  <li></li>
  <li></li>
  <li class="has-child will-be-ignored">
    <ul>
      <li></li>
      <li></li>
      <li class="has-child will-be-selected">
        <ul>
          <li></li>
          <li></li>
          <li class="has-child will-be-selected">
            <ul>
              ...
            </ul>
          </li>
        </ul>
      </li>
    <ul>
  </li>
<ul>

CSS中是否有任何方法可以选择类has-child will-be-selected的元素。这些要素可以继续保持任何级别。

更新:

will-be-ignoredwill-be-selected类只是为了突出显示它们。这些类实际上并不存在。

3 个答案:

答案 0 :(得分:2)

当然,步入第一级,然后定位下面的那些:

ul > li.has-child li.has-child

当然,根据您的结构,您可能必须将第一级ul锚定到其父级,以确保其子级li不会无意中与选择器匹配,例如如果您的ul恰好在另一个列表中。

答案 1 :(得分:1)

您可以使用:

ul ul > li.has-child.will-be-selected

答案 2 :(得分:0)

最简单,最直接的方式就是这个选择器......

li.has-child.will-be-selected

根据您的问题说明选择同时包含has-child类和will-be-selected类的所有元素。但是,如果您想跳过第一级使用...

ul ul li.has-child.will-be-selected

根据您的问题标题