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() ,你必须实现两步匹配操作:

$(".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 回答