1

li.active構造の最も深いものだけを選択する必要がありますul。この場合、それは になります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 を介してのみ行うことはできません。子供は親に影響を与えることはできません。CSS4:has()セレクターがワーキング ドラフトから仕様になり、ブラウザーがそれを実装し始めると、それが可能になります。現在の状態: 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 に答える