我尝试在here中使用没有插件的javascript创建一个简单的树
这是我的HTML
<ul class="tree">
<li>First Child
<ul>
<li>First Child
<ul>
<li>First Child</li>
<li>Second Child</li>
<li>Third Child</li>
<li>Fourth Child</li>
</ul>
</li>
<li>Second Child</li>
<li>Third Child</li>
<li>Fourth Child</li>
</ul>
</li>
<li>Second Child</li>
<li>Third Child</li>
<li>Fourth Child</li>
</ul>
和我的js
$( "li" ).on( "click", function() {
if ($(this).children('ul').css('display') == 'none') {
$(this).children('ul').css("display", "");
} else {
//alert( $( this ).text() );
$(this).children('ul').css("display", "none");
}
});
但它只适用于第一级。怎么做谢谢。
答案 0 :(得分:6)
事件冒泡正在那里发生。使用e.stopPropagation()
来阻止它。顺便说一下,您不需要更改/检查显示属性以使任何元素可见/隐藏,只需使用
.toggle()
。
尝试,
$("li").on("click", function (e) {
e.stopPropagation();
$(this).children('ul').toggle();
});