html - 未知级别 ul 中最后一个 ul 的 Css 选择器

标签 html css

我试图只选择图片中带下划线的最后一个 child ul

enter image description here

代码

li:before {
  content: ' ';
}
<div id="container">
  <ul>
    <li>
      <ul>
        <li>123</li>
        <li>
          <ul>
            <li>Abc !</li>
          </ul>
        </li>
      </ul>
    </li>
    <li>
      <ul>
        <li>
          <ul>
            <li>
              <ul>
                <li>
                  <ul>
                    <li>Def !</li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>456</li>
            <li>
              <ul>
                <li>
                  <ul>
                    <li>Ghi !</li>
                    <li>Jkl !</li>
                    <li>Mno !</li>
                  </ul>
                </li>
                <li>789</li>
              </ul>
            </li>
            <li>
              <ul>
                <li>
                  <ul>
                    <li>
                      <ul>
                        <li>Prs !</li>
                      </ul>
                    </li>
                  </ul>
                </li>
                <li>1011</li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>

最佳答案

遗憾的是,这无法通过 CSS 动态实现。然而,这可以使用 jQuery 通过过滤每个没有 ul 后代的 ul 来实现。

$(document).ready(function(){
  $('ul').filter(":not(:has(ul))").addClass('last');
});
.last {
  background:blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>
    level 1
    <ul>
      <li>level 2</li>
      <li>level 2</li>
      <li>level 2</li>
      <li>
        level 2
        <ul>
          <li>level 3</li>
          <li>level 3</li>
          <li>
            level 3
            <ul>
              <li>level 4</li>
              <li>level 4</li>
              <li>level 4</li>
              <li>level 4</li>
            </ul>
          </li>
          <li>level 3</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>level 1</li>
  <li>
    level 1
    <ul>
      <li>level 2</li>
      <li>level 2</li>
      <li>level 2</li>
      <li>level 2</li>
    </ul>
  </li>
  <li>level 1</li>
</ul>

关于html - 未知级别 ul 中最后一个 ul 的 Css 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57040332/

上一篇:html - 当浏览器窗口小于 400 像素宽时,正文宽度不是 100%

下一篇:javascript - 创建这个 javascript 和 css 繁重的元素的最有效方法是什么?

相关文章:

html - div 向左浮动且内容居中的布局

html - 具有居中链接的可变宽度页脚

html - 样式化内联元素的分隔符

javascript - HTML 中的模板,使用 Webpack,未定义错误 "variable"

javascript - 单击播放音频链接

jQuery 延迟 data-goto 直到 fadeIn 完成

javascript - 警告框关闭后如何将按钮的文本更改为 "No Sign Ups!"?

html - 如何在下划线(wordpress)上制作响应式排版?

html - 为什么我的 HTML5 视频循环播放(并且永远不会触发结束事件),即使我告诉它不要循环播放?

javascript - addEventListener 无法正常工作