1

メニューに表示される最後のアンカーをスコープする方法を探しています。css を使用して追いつこうとしていますが、役に立ちません。私の例では、「はい」と書かれたアンカーをスコープしようとしていますが、「親」の最後ではなく、リストの最後です。

html :

<div class="container">
<ul>
    <li><a href="#">no</a></li>
    <li><a href="#">no</a></li>
    <li>
        <ul>
            <li><a href="#">no</a></li>
            <li><a href="#">no</a>
                <ul>
                    <li><a href="#">no</a></li>
                    <li><a href="#">no</a>
                        <ul>
                            <li><a href="#">no</a></li>
                            <li><a href="#">yes</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
</div>
<hr/>
<div class="container">
<ul>
    <li><a href="#">no</a></li>
    <li><a href="#">no</a></li>
    <li>
        <ul>
            <li><a href="#">no</a></li>
            <li><a href="#">no</a>
                <ul>
                    <li><a href="#">no</a>
                        <ul>
                            <li><a href="#">no</a></li>
                            <li><a href="#">no</a></li>
                        </ul>
                    </li>
                    <li><a href="#">yes</a></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
</div>

jsfiddle : http://jsfiddle.net/u2BTz/2/

とにかく、私は jQuery ソリューションを受け入れます。これを css のみでスコープするための助けをいただければ幸いです。

4

2 に答える 2

2

Diodeus の答えは正しい軌道に乗っていますが、 last()を利用したい場合は、2 段階のマッチング操作を実装する必要があります。

$(".container").each(function() {
    $(this).find("a").last().css("background-color", "red");
});

それ以外の場合、コンテナに関係なくすべての<a>要素が一致し、last()それらの最後の要素のみが返されます。

于 2013-02-11T21:02:34.333 に答える
1

レイヤーを忘れて、アンカータグを直接選択するだけです。

$('.container a').last().css('background-color', 'red');
于 2013-02-11T20:44:48.987 に答える