У меня возникли проблемы с выяснением этого. У меня есть неупорядоченный список меню, в котором я хочу стилизовать все последние элементы со значком папки и стиль всех расширяемых (родительских) элементов с изображением plus.gif. Я хотел просто изменить класс с помощью .addclass (), используя jquery, который будет содержать CSS для добавления background-image. Мой код jquery ниже только выбирает «: last-child», который помещает значок папки на последний элемент в списке. Мне нужно поместить значок папки перед всеми «li», которые не имеют детей, и поместить значок «плюс» перед всеми теми, у кого есть дети. Есть ли способ сделать это?
Вот мой HTML:
<ul id="nav">
<li>Heading 1
<ul>
<li>Sub page A
<ul>
<li>Sub page A - 1
<ul>
<li>A - 1: 0</li>
<li>A - 1: 1</li>
<li>A - 1: 2</li>
</ul>
</li>
<li>Sub page A - 3</li>
<li>Sub page A - 2</li>
</ul>
</li>
<li>Sub page B</li>
<li>Sub page C
<ul>
<li>Sub page C - 1
<ul>
<li>C - 1: 0</li>
<li>C - 1: 1</li>
<li>C - 1: 2</li>
</ul>
</li>
<li>Sub page C - 3</li>
<li>Sub page C - 2</li>
</ul>
</li>
</ul>
</li>
<li>Heading 2
<ul>
<li>Sub page D</li>
<li>Sub page E</li>
<li>Sub page F</li>
</ul>
</li>
<li>Heading 3
<ul>
<li>Sub page G</li>
<li>Sub page H</li>
<li>Sub page I</li>
</ul>
</li>
</ul>
Вот код jquery:
$(function(){
//add class to last item in each list
$('#nav li').find('li:last').addClass('menu_last_child');
});