Цель этого элемента - создать разборную навигационную систему, основанную исключительно на простом неупорядоченном списке. По умолчанию все вложенные списки будут скрыты, а .toggle div (кнопки) прикреплены к элементам li, которые содержат вложенный список. Эти div .toggle должны затем скрыть / показать вложенный список, а также применить класс к кнопке переключения.
Я проверил этот код, вручную вставив .toggle div (местоположение, отмеченное [toggle div]), и все работает отлично. Когда он добавляется через append (), кажется, ничего не работает. Кто-нибудь знает, что может быть причиной этой проблемы? Любая помощь будет принята с благодарностью - спасибо!
HTML:
<div id="nav">
<ul>
<li><a href="#">nav item</a>[toggle div]
<ul>
<li><a href="#">nav item</a></li>
<li><a href="#">nav item</a></li>
<li><a href="#">nav item</a>[toggle div]
<ul>
<li><a href="#">nav item</a></li>
<li><a href="#">nav item</a></li>
<li><a href="#">nav item</a></li>
</ul>
</li>
<li><a href="#">nav item</a></li>
</ul>
</li>
<li><a href="#">nav item</a></li>
<li><a href="#">nav item</a></li>
<li><a href="#">nav item</a></li>
</ul>
</div>
JQuery:
$(function(){
$("#nav ul li").has("ul").append("<div class='toggle'></div>");
$(".toggle").live("click", function() {
if($(this).next().is(":hidden")) {
$(this).next().show();
$(this).addClass("toggled");
} else {
$(this).next().hide();
$(this).removeClass("toggled");
}
});
});