html - 节点中持续元素的CSS选择器

标签 html css tree css-selectors html-lists

我需要选择特定节点中的所有鞋楦元素。我的问题是:在那种情况下选择器应该是什么?

下面是 html 代码的大概 View 。需要选择 li.node 内的 ul 中的所有 last li(li with class node)。

.node>ul>li:last-child {
  color: red
}
<ul>
  <li>xxx</li>
  <li>www</li>
  <li class='node'>
    <ul>
      <li>ddedede</li>
      <li>dededed</li>
      <li class='node'>
        <ul>
          <li>dededede</li>
          <li>dededede</li>
          <li>dedede</li>
          <li>dededede</li>
          <li>defefefe</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>vrvrvrvr</li>
  <li>vvrvrvr</li>
</ul>

那个选择器没有解决问题。

.node > ul > li:last-child {
  color: red
}

所以,我应该澄清一下我的问题。我动态生成了 TreeView 的 html 代码(我无法编辑 html 代码)。所以,我需要在 li.node 中选择所有没有类 .node 的 lis(在下图中你可以看到我需要使用特定的 css-selector 选择的示例(圆圈粗体红色)元素 li,如图所示显示 html 代码用于示例演示)。但是应该选择什么样的选择器呢?

提前致谢!

enter image description here

最佳答案

您的选择器是正确的并且工作正常但是您正在选择两个元素,如下所示:

enter image description here

这就是为什么所有元素都是红色的。相反,如果您只想定位最后一个 li,则可以使用此选择器:

.node > ul > li:not(.node):last-child {
  color: red
}
<ul>
  <li>xxx</li>
  <li>www</li>
  <li class='node'>
    <ul>
      <li>ddedede</li>
      <li>dededed</li>
      <li class='node'>
        <ul>
          <li>dededede</li>
          <li>dededede</li>
          <li>dedede</li>
          <li>dededede</li>
          <li>defefefe</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>vrvrvrvr</li>
  <li>vvrvrvr</li>
</ul>

更新

我认为你找不到一个 CSS 选择器来选择你想要的元素,但如果你愿意,这里有一个 jQuery 解决方案:

$('.node > ul').each(function() {
 $(this).find(' > li:not(.node):last').css('color','red');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>xxx</li>
  <li>www</li>
  <li class='node'>
    <ul>
      <li>ddedede</li>
      <li>dededed</li>
      <li class='node'>
        <ul>
          <li>dededede</li>
          <li>dededede</li>
          <li>dedede</li>
          <li>dededede</li>
          <li>defefefe</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>vrvrvrvr</li>
  <li>vvrvrvr</li>
</ul>

关于html - 节点中持续元素的CSS选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48474127/

相关文章:

html - 部分液柱如何实现水平居中布局?

php - 社交引擎无法检查 html

php - 如果链接中的 html 等于某内容,我该如何操作链接或链接的父级?

javascript - 如何获得 jQuery 模态覆盖而不插入滚动条?

java - 井字游戏板的所有可能性 - 代码日志 - Java递归通用树

javascript - 隐藏面板 - 默认情况下在页面加载时打开

javascript - 来自 XML 的 Ajax html 代码输出(无序列表)未附加在 div 中

html - JackMagic7 网站 Bootstrap ?

algorithm - 用大于或等于该节点的节点之和替换BST节点

algorithm - 哈希表 vs 平衡二叉树