1

我只需要选择结构中最深li.activeul。在这种情况下,将是Další kategorie。我找不到只有 css 的解决方案。甚至可能吗?谢谢。

<nav class="smenu">
    <ul>
        <li class="predsednictvo first"><a href="/cs/csmg/predsednictvo/"><span>PŘEDSEDNICTVO</span></a></li>
        <li class="sub active komise"><a href="/cs/csmg/komise/"><span>KOMISE</span></a>
            <ul>
                <li class="kategorie first"><a href="/cs/csmg/komise/kategorie/"><span>Kategorie</span></a></li>
                <li class="active dalsi-kategorie last"><a href="/cs/csmg/komise/dalsi-kategorie/"><span>Další kategorie</span></a></li> // I'need to select only this element (current page)
            </ul>
        </li>
        <li class="kontakty"><a href="/cs/csmg/kontakty/"><span>KONTAKTY</span></a></li>
        <li class="reprezentace last"><a href="/cs/csmg/reprezentace/"><span>REPREZENTACE</span></a></li>
    </ul>
</nav>
4

4 回答 4

0

更新: 目前这仅通过 CSS 是不可能的。孩子不能影响他们的父母。:has()一旦 CSS4选择器从工作草案变为规范并且浏览器开始实现它,这将成为可能。当前状态:https ://drafts.c​​sswg.org/selectors-4/#relational


原始答案: 好的,如果不能仅通过 CSS,我会这样做:

$('li.active:not(:has(li.active))').addClass('deepest');
于 2013-07-01T20:38:15.050 回答
0

当它是静态结构时,这个选择器应该完成这项工作:

.smenu > ul > li > ul > li.active {
    /* your rules */
}
于 2013-07-01T20:05:56.787 回答
0

简单地

nav.smenu ul li ul li.active
于 2013-07-01T20:06:20.267 回答
0

我不确定这在 OP 时是否可用,但这与没有:has操作员的公认答案一样有效:

$('.smenu').find('li.active').last().addClass('deepest')

假设一次只有一个嵌套路径处于活动状态。

于 2018-08-19T23:15:05.833 回答