html - 定位特定元素,如果它包含另一个仅使用 CSS 的元素

标签 html css

<分区>

我有以下 HTML 设置,我正在尝试将 class="chosen-with-children" 定位到 CSS2 或 CSS3,仅当 div 还包含class="children"。知道如何解决这个问题吗?我希望这是可能的。

提前致谢。

1.

<div class="wcapf-layered-nav">
    <ul>
        <li class="chosen-with-children">
            <a class="" href=""></a>
        </li>
    </ul>
</div>

2.

<div class="wcapf-layered-nav">
    <ul>
        <li class="chosen-with-children">
            <a class="" href=""></a>

            <ul class="children">
                <li class="chosen">
                    <a class="" href=""></a>
                </li>
            </ul>
        </li>
    </ul>
</div>

最佳答案

使用纯 CSS 是不可能的,因为 explained here .

如果你想使用 jQuery,你可以这样做:

$(".chosen-with-children").each(function() {
  if($("ul", this).hasClass("children")) {
    $(this).addClass("has-child-class");
  }
})
.chosen-with-children.has-child-class > a {
  color: red;
  font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="wcapf-layered-nav">
  <ul>
    <li class="chosen-with-children">
      <a class="" href="">Link 1</a>

      <ul class="children">
        <li class="chosen">
          <a class="" href="">Link 1a</a>
        </li>
      </ul>
    </li>
    <li class="chosen-with-children">
      <a class="" href="">Link 2</a>
    </li>
  </ul>
</div>

关于html - 定位特定元素,如果它包含另一个仅使用 CSS 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47772968/

上一篇:android - Layout_height 不想在使用 fragment 时逐渐包装内容

下一篇:javascript - 如何删除空图像框?

相关文章:

javascript - 在 'Click Event' 上隐藏动态生成的 div

html - 在较长的 P 或 DIV 中垂直展开 jQuery 按钮

javascript - 不支持 Phaser 全屏 Api

javascript - Polymer CLI 页面上的多个元素和重复调用

html - Vue-select 下拉菜单无法正常工作

javascript - 是否可以根据标题的长度设置标题大小的样式?

html - 两侧带有灵活装饰图像的 CSS 标题

javascript - 根据数据列表选项链接到其他页面

java - 为 vaadin 元素提供动态边距的简单方法

html - CSS z-index 似乎没有响应