jQuery + CSS Manipulation с использованием each () - PullRequest
2 голосов
/ 21 марта 2010

Я пытаюсь создать меню 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>

Код должен удалить границу и отступ для последних элементов, которые

<li><a href="#">Sub Item 1 - M3</a></li>
<li><a href="#">Sub Item 4 - M3</a></li>

Пробовал это, но это снимает границу только для подпункта 4

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

Ответы [ 2 ]

6 голосов
/ 21 марта 2010

Вам не нужно звонить .each. Вместо этого вы можете использовать следующий селектор:

$("#nav li ul > li:last-child a").css({ border: 0, padding: 0 });
1 голос
/ 21 марта 2010
$("#nav li ul").each(function() {
    $("li:last a", this)
        .css('border', '0 none')
        .css('padding','0');
});
...