使用each()的jQuery + CSS操作

Ati*_*din 2 each jquery

我正在尝试创建一个css菜单.我想删除标签li > a上每个最后一个元素的边框和填充 child ul.(抱歉令人困惑)

这是菜单的代码

<ul id="nav">
                <li><a id="cat1" href="#">Menu 1</a></li>
                <li><a id="cat2" href="#">Menu 2</a></li>
                <li><a id="cat3" href="#">Menu 3</a>
                    <ul>
                        <li><a href="#">Sub Item 1 - M3</a></li>
                    </ul>
                </li>
                <li><a id="cat4" href="#">Menu 4</a>
                    <ul>
                        <li><a href="#">Sub Item 2 - M3</a></li>
                        <li><a href="#">Sub Item 3 - M3</a></li>
                        <li><a href="#">Sub Item 4 - M3</a></li>
                    </ul>
                </li>
            </ul>
Run Code Online (Sandbox Code Playgroud)

代码必须删除最后一个元素的边框和填充

<li><a href="#">Sub Item 1 - M3</a></li>
<li><a href="#">Sub Item 4 - M3</a></li>
Run Code Online (Sandbox Code Playgroud)

尝试了这一点,但它只取消了第4项的边界

$("#nav li ul").each(function(index) {
    $("#nav li ul > :last a").css('border','0 none');
    $("#nav li ul > :last a").css('padding','0');
});
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 6

你不需要打电话.each.相反,您可以使用以下选择器:

$("#nav li ul > li:last-child a").css({ border: 0, padding: 0 });
Run Code Online (Sandbox Code Playgroud)