CSS选择位于另一个元素之前的元素

时间:2012-06-07 13:42:44

标签: css css-selectors

  

可能重复:
  CSS :checked - change <td> background
  Is there a CSS parent selector?

        <ul class="submenu">
        <li><a href="...">Submenu 3</a></li>
        <li><a href="..." >I need to select this element</a>
            <ul class="submenu">
            <li><a href="...">Sub-submenu 3</a></li>
            <li><a href="...">I need to select this element</a>
                <ul class="submenu">
                <li><a href="...">Sub-sub-sub 1</a></li>
                <li><a href="...">Sub-sub-sub 2</a></li>

基本上,我需要选择位于<li>元素之前的ul元素,class="submenu"ul class="submenu"的父级)

我需要选择这个元素

2 个答案:

答案 0 :(得分:5)

仅使用CSS目前无法实现。功能is currently being specced,但实际上它不会在相当长的一段时间内公开使用(如果有的话)。

 /* Only matches LIs with a UL.submenu descendant */
 li:has(> ul.submenu) {
  background:red;
 }

注意: 根据当前编辑草案提供的示例有效,但语法可能会更改,或者在浏览器供应商甚至可以删除功能之前开始实施它。

最初来自https://stackoverflow.com/a/10436066/526741

答案 1 :(得分:0)

这是不可能的。你最好的选择是使用jQuery。这将为您提供许多选项来完成此任务。

根据下面的链接,看起来CSS4将能够指定您想要的元素。

Is there a CSS parent selector?