获取节点的两种方式:
1、通过event对象的srcElement属性;
2、通过事件源对象用this传入。
代码如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>收缩菜单 · 表单布局</title> <script type="text/javascript"> function list(dtNode){ // var dtNode = event.srcElement; var dlNode = dtNode.parentNode; // alert(dtNode.nodeName+"---"+dlNode.nodeName); var dlNodes = document.getElementsByTagName("dl"); // alert(dlNodes.length); for(var i=0; i<dlNodes.length; i++){ if(dlNodes[i] == dlNode){ /*判断当前标题是展开还是关闭状态,默认关闭,先执行else语句*/ if(dlNode.className == "open"){ dlNode.className = "close"; } else{ dlNode.className = "open"; } } else{ dlNodes[i].className = "close"; } } } </script> <style type="text/css"> dl{ overflow: hidden; height: 18px; } .open{ overflow: visible; } .close{ overflow: hidden; } </style> </head> <!-- 获取节点的两种方式: 1、通过event对象的srcElement属性; 2、通过事件源对象用this传入 --> <body> <!-- 事件源是dt,但是操作的是dl --> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> <dl> <dt onclick="list(this)">今天天气好晴朗</dt> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> <dd>今天天气好晴朗</dd> </dl> </body> </html>
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。