初学javascript 想请教个问题 关于一个列表的展开
<head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>无标题文档<...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
table{
border:#0066FF 1px solid;
}
table td{
border:#0000FF 1px solid;
background-color:#00FFFF;
}
table td div{
background-color:#66FFCC;
display:none;
}
table td a:link,table td a:visited{
text-decoration:none;
color:red;
}
.open{
display:block;
}
.close{
display:none;
}
</style>
<script type="text/javascript">
function list2()
{
var aNode = event.srcElement;
var tdNode = aNode.parentNode;
var divNode = tdNode.getElementsByTagName("div")[0];
if(divNode.className == "open")
{
divNode.className = "close";
}
else
{
divNode.className = "open";
}
}
</script>
</head>
<body>
<table>
<tr>
<td>
<a href="javascript:void(0)" onclick="list2()">好友菜单列表</a>
<div>
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
</div>
</td>
<tr>
<td>
<a href="javascript:void(0)" onclick="list2()">好友菜单列表</a>
<div>
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
</div>
</td>
</tr><tr>
<td>
<a href="javascript:void(0)" onclick="list2()">好友菜单列表</a>
<div>
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
</div>
</td>
</tr>
</table>
</body>
</html>
为何只定义了一个变量divNode来存放div的 第一个 节点
var divNode = tdNode.getElementsByTagName("div")[0];
操作这个节点的闭合状态来控制列表的闭合 ,
但是 下面的 div[1]div[2]节点也具有此功能? 展开
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
table{
border:#0066FF 1px solid;
}
table td{
border:#0000FF 1px solid;
background-color:#00FFFF;
}
table td div{
background-color:#66FFCC;
display:none;
}
table td a:link,table td a:visited{
text-decoration:none;
color:red;
}
.open{
display:block;
}
.close{
display:none;
}
</style>
<script type="text/javascript">
function list2()
{
var aNode = event.srcElement;
var tdNode = aNode.parentNode;
var divNode = tdNode.getElementsByTagName("div")[0];
if(divNode.className == "open")
{
divNode.className = "close";
}
else
{
divNode.className = "open";
}
}
</script>
</head>
<body>
<table>
<tr>
<td>
<a href="javascript:void(0)" onclick="list2()">好友菜单列表</a>
<div>
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
</div>
</td>
<tr>
<td>
<a href="javascript:void(0)" onclick="list2()">好友菜单列表</a>
<div>
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
</div>
</td>
</tr><tr>
<td>
<a href="javascript:void(0)" onclick="list2()">好友菜单列表</a>
<div>
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
萨达的所得税<br />
</div>
</td>
</tr>
</table>
</body>
</html>
为何只定义了一个变量divNode来存放div的 第一个 节点
var divNode = tdNode.getElementsByTagName("div")[0];
操作这个节点的闭合状态来控制列表的闭合 ,
但是 下面的 div[1]div[2]节点也具有此功能? 展开
1个回答
展开全部
前面还有两句呢、、、
var aNode = event.srcElement;
var tdNode = aNode.parentNode;
aNode 代表当前点击的 <a>,tdNode 代表 <a> 的父层 (也就是 td)
var divNode = tdNode.getElementsByTagName("div")[0]; 这一句是在 td 下面查找第一个 div,而不是整个页面或 table 中的第一个 div。
也就是,点击哪一个 a,就会查找此 a 父层下的 div,然后控制此 div 的显示状态。
var aNode = event.srcElement;
var tdNode = aNode.parentNode;
aNode 代表当前点击的 <a>,tdNode 代表 <a> 的父层 (也就是 td)
var divNode = tdNode.getElementsByTagName("div")[0]; 这一句是在 td 下面查找第一个 div,而不是整个页面或 table 中的第一个 div。
也就是,点击哪一个 a,就会查找此 a 父层下的 div,然后控制此 div 的显示状态。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询