问问题
587 次
2 回答
5
用于children("ul")
仅切换ul
父项的子项li
。否则,您将切换父项 ,<a href="#">1.</a>
它也是 的子项li
:
$("li").click(function(){
$(this).children("ul").toggle(500);
return false;
});
演示。
于 2012-09-10T00:02:45.453 回答
0
在这里,我为上述查询完成了完整的示例箱。我们应该使用 Jquery 的事件对象方法“stopPropagation()”来停止分层事件的发生,而不是返回 false。
演示 http://codebins.com/bin/4ldqp7e
HTML
<div class="main_list">
<ul>
<li>
<a href="#">
1.
</a>
<ul>
<li>
<a href="#">
1.1
</a>
<ul>
<li>
<a href="#">
1.1.1
</a>
</li>
</ul>
</li>
</ul>
<li>
<a href="#">
2.
</a>
</li>
<li>
<a href="#">
3.
</a>
<ul>
<li>
<a href="#">
3.1
</a>
</li>
<li>
<a href="#">
3.2
</a>
</li>
</ul>
<li>
<a href="#">
4.
</a>
<ul>
<li>
<a href="#">
4.1
</a>
<ul>
<li>
<a href="#">
4.1.1
</a>
</li>
<li>
<a href="#">
4.1.2
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
jQuery
$(function() {
// only show top level elements to begin
$("ul ul").hide();
$("li").click(function(e) {
//need to change here...
e.stopPropagation();
$(this).children("ul").toggle(500);
});
});
CSS
li{
list-style:none;
}
ul{
margin:5px;
padding:2px;
}
于 2012-09-10T11:20:02.340 回答