Javascript 可折叠列表:第一次单击时是否更改了行为?
我在寻找可折叠HTML列表时找到了答案和代码示例。 在添加了更多子级别后,我的代码现在如下所示:Javascript 可折叠列表:第一次单击时是否更改了行为?,javascript,jquery,html,html-lists,Javascript,Jquery,Html,Html Lists,我在寻找可折叠HTML列表时找到了答案和代码示例。 在添加了更多子级别后,我的代码现在如下所示: <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-2.2.1.min.js"></script> <style> #subj_tree ul{ display:none; } &
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.2.1.min.js"></script>
<style>
#subj_tree ul{
display:none;
}
</style>
</head>
<body>
<ul id="subj_tree">
<li><span>sub name</span>
<ul>
<li><span> sub2* cat name</span>
<ul>
<li><span> sub3* cat name </span>
<ul>
<li><span> sub4 cat name </span></li>
<li><span> sub4 cat name </span></li>
<li><span> sub4 cat name </span></li>
</ul>
</li>
<li><span> sub3 cat name </span></li>
<li><span> sub3 cat name </span></li>
<li><span> sub3 cat name </span></li>
</ul>
</li>
<li><span> sub2 cat name </span></li>
<li><span> sub2 cat name </span></li>
<li><span> sub2 cat name </span></li>
<li><span> sub2 cat name </span></li>
</ul>
</li>
</ul>
<script>
$(function () {
$('#subj_tree > li span').on("click", function (e) {
var parent = $(this).parent();
$('ul', parent).toggle();
});
});
</script>
</body>
</html>
#主题树{
显示:无;
}
- 子名称
- sub2*猫名
- sub3*猫名
- sub4猫名
- sub4猫名
- sub4猫名
- sub3猫名
- sub3猫名
- sub3猫名
- sub2猫名
- sub2猫名
- sub2猫名
- sub2猫名
$(函数(){
$('#subc_tree>li span')。在(“单击”上,函数(e){
var parent=$(this.parent();
$('ul',parent.toggle();
});
});
在本例中,第一次单击“sub name”会自动展开所有底层(sub2+sub3),这不是我想要的。
我更希望最初只扩展下一个子级别(代码中的#2),如果需要,允许我手动扩展级别#3(可能还有级别#4、#5…)。
我如何做到这一点