【发布时间】:2015-09-05 21:09:41
【问题描述】:
我需要有关使用 Javascript 折叠和展开的帮助。 这是我的运行代码(.html)
<h2>Test</h2> <html lang="en"> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-16"> <title></title> <script type="text/javascript"> function toggleDisplay(element) { element.style.display = element.style.display === 'none' ? '' : 'none'; }; function toggleDisplayAll(elements) { for(var i=0; i<elements.length; i++) { toggleDisplay(elements[i]); } } </script> </head> <body> <ul> <a onclick="toggleDisplayAll(this.parentNode.getElementsByTagName('ul')); return false;" href="#">Name:</a> <ul style="display:none;"> <a onclick="toggleDisplayAll(this.parentNode.getElementsByTagName('ul')); return false;" href="#">Address: </a> <ul style="display:none;"> <a onclick="toggleDisplayAll(this.parentNode.getElementsByTagName('li')); return false;" href="#">Subject: </a> <ul style="display:none;"> <li style="display:none;">Id </li> </ul> </ul> </ul> </ul> </body> </html>
如果你运行这个 html,你会得到输出
Name
点击名称,显示所有子元素
Name: Address: Subject:点击主题会显示 ID
Name: Address: Subject: . Id我想要的是每个孩子都应该只在父母点击时打开。
运行 html 时,只会显示名称
Name:点击名称时,只有地址会显示为子元素。
Name: Address:
点击地址,只会显示主题
Name: Address: Subject:
最后点击主题,id会显示出来
Name: Address: Subject: . Id
如何实现这个树形结构。我在这里做错了什么。请给我建议。
【问题讨论】:
标签: javascript html css