Цель этого элемента — иметь сворачиваемую систему навигации, полностью основанную на простом неупорядоченном списке. По умолчанию все вложенные списки будут скрыты, а элементы div (кнопки) .toggle прикреплены к элементам 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");
}
});
});
#nav
? Кроме того, вы добавляете divtoggle
в конецli
. - person The Scrum Meister   schedule 26.05.2011