在树结构中如何用JS控制 点击其中一个节点时 其他散开的节点隐藏起来(收缩起来)求方法
解决方案 »
- Jquery获取带有特殊符号的属性值
- 高手请看一下这段代码时间的秒数为何不时时更新,错在何处?
- extjs中显示带边框的表格
- Jquery .attr("id")的问题????
- html中的file类型(即上传)默认显示的是"浏览..."我如何更改这个显示啊
- 页面 submit 后,js 怎么能检测到页面的处理事件完成
- 窗口嵌套访问问题(很难)
- 在网页中插入了一段声音,当网页一出现时它就播放了。怎么样才能网页出现时不播放,我点播放后才播放?在线急等。
- 用jsp能不能读取浏览器端的硬盘序列号或网卡MAC地址阿?
- js类方法,对象方法,原型的理解
- 在一个静态页面上 显示 “注册和登录” ,登录后 显示 用户的信息 探讨求助
- 为什么我的代码不会运行IF
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Test</title>
<style>
.hidden ul{
display: none;
}
</style>
<script src="jquery.js"></script>
</head>
<body>
<ul>
<li>
<span>list 1</span>
<ul>
<li>list a</li>
<li>list b</li>
<li>list c</li>
<li>list d</li>
<li>list e</li>
</ul>
</li>
<li>
<span>list 2</span>
<ul>
<li>list a</li>
<li>list b</li>
<li>list c</li>
<li>list d</li>
<li>list e</li>
</ul></li>
<li>
<span>list 3</span>
<ul>
<li>list a</li>
<li>list b</li>
<li>list c</li>
<li>list d</li>
<li>list e</li>
</ul></li>
<li>
<span>list 4</span>
<ul>
<li>list a</li>
<li>list b</li>
<li>list c</li>
<li>list d</li>
<li>list e</li>
</ul></li>
<li>
<span>list 5</span>
<ul>
<li>list a</li>
<li>list b</li>
<li>list c</li>
<li>list d</li>
<li>list e</li>
</ul></li>
</ul>
<script>
$('li').click(function(){
$(this).siblings().addClass('hidden');
$(this).removeClass('hidden');
});
</script>
</body>
</html>
就是对子节点的控制 。
1.点击某个节点时,先循环所有节点,并隐藏子树
2.显示点击的节点的子树
//...引用jquery.js。楼主若不用jquery,自己写JS也可以,参考五楼 $(document).ready(function() {//加载时
$('ul li').siblings().addClass('hidden');//收缩所有li节点
});
$('li').click(function(){//点击某li时
$(this).siblings().addClass('hidden');//先收缩所有li节点
$(this).removeClass('hidden');//再展开点击的li节点
});
附:
jQuery 遍历 - siblings() 方法