javascript 为什么不能getElementsByTagName
<html><head><title>NewDocument</title><metahttp-equiv="content-type"content="text/htm...
<html>
<head>
<title> New Document </title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
</head>
<style type="text/css">
table{
border:#0066FF 1px solid;
}
table td{
border:#0066FF 1px solid;
background-color:#00ccFF;
}
table td div{
background-color:#66FFcc;
display:none;
}
tabletd a:link,table,td a:visited{
text=decoration:none;
color:#0099DD;
}
</style>
<script type="text/javascript">
function list(aNode)
{
var aNode = aNode;
var tdNode = aNode.parentNode;
var divNode = tdNode.getElementsByTagName("div")[0];
alert(divNode);
var tabNode = tabNode.getElementsByTagName("table")[0];
alert(tabNade);
var divNodes = tabNode.getElementsByTagName("div");
alert(divNodes[0]);
for(var x = 0;x<divNodes.length;x++)
{
if(divNode[x] == divNode)
{
if(divNode.className == "open")
{
divNode.className = "close";
}
else
{
divNode.className = "open";
}
}
else{
divNodes[x].className="close";
}
}
alert(aNode.name);
}
</script>
<body>
<table>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
</table>
</body>
</html>
获取getElementById或者bytagname的时候总是显示object不是标签名称,起了id名称,也获取不到标签对象。 展开
<head>
<title> New Document </title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
</head>
<style type="text/css">
table{
border:#0066FF 1px solid;
}
table td{
border:#0066FF 1px solid;
background-color:#00ccFF;
}
table td div{
background-color:#66FFcc;
display:none;
}
tabletd a:link,table,td a:visited{
text=decoration:none;
color:#0099DD;
}
</style>
<script type="text/javascript">
function list(aNode)
{
var aNode = aNode;
var tdNode = aNode.parentNode;
var divNode = tdNode.getElementsByTagName("div")[0];
alert(divNode);
var tabNode = tabNode.getElementsByTagName("table")[0];
alert(tabNade);
var divNodes = tabNode.getElementsByTagName("div");
alert(divNodes[0]);
for(var x = 0;x<divNodes.length;x++)
{
if(divNode[x] == divNode)
{
if(divNode.className == "open")
{
divNode.className = "close";
}
else
{
divNode.className = "open";
}
}
else{
divNodes[x].className="close";
}
}
alert(aNode.name);
}
</script>
<body>
<table>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" onclick = "list(this)">好友菜单列表</a>
<div>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
中国万岁万岁<br/>
</div>
</td>
</tr>
</table>
</body>
</html>
获取getElementById或者bytagname的时候总是显示object不是标签名称,起了id名称,也获取不到标签对象。 展开
2016-01-08 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
如果没有笔误的话,通常是不会出现这种情况的,应该仔细检查下自己写的代码,关键字是否有误
定义和用法
getElementsByTagName() 方法可返回带有指定标签名的对象的集合。
语法
document.getElementsByTagName(tagname)
说明
getElementsByTagName() 方法返回元素的顺序是它们在文档中的顺序。
如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。
提示和注释
注释:传递给 getElementsByTagName() 方法的字符串可以不区分大小写。
<html>
<head>
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByTagName("input");
alert(x.length);
}
</script>
</head>
<body>
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()"
value="How many input elements?" />
</body>
</html>
展开全部
alert(divNode);
这个divNode本身是个对象,你直接alert的话,它肯定是显示[object]啊,难道你指望它显示其他的?
你要具体指定这个对象的某个属性,比如:
alert(divNode.tagName); //显示标签名
alert(divNode.id); //显示ID
alert(divNode.name); //显示name
如果divNode是集合,则要这样:
alert(divNode[0].tagName); //显示标签名
alert(divNode[0].id); //显示ID
alert(divNode[0].name); //显示name
再强调一下:getElementsByTagName返回的是对象,不是字符串!getElementById和getElementsByName也一样,不过getElementById返回的是单一对象,而另两个则是集合。
这个divNode本身是个对象,你直接alert的话,它肯定是显示[object]啊,难道你指望它显示其他的?
你要具体指定这个对象的某个属性,比如:
alert(divNode.tagName); //显示标签名
alert(divNode.id); //显示ID
alert(divNode.name); //显示name
如果divNode是集合,则要这样:
alert(divNode[0].tagName); //显示标签名
alert(divNode[0].id); //显示ID
alert(divNode[0].name); //显示name
再强调一下:getElementsByTagName返回的是对象,不是字符串!getElementById和getElementsByName也一样,不过getElementById返回的是单一对象,而另两个则是集合。
更多追问追答
追问
你那是标签,我要的是标签对象,正常的他应该是显示div或者tr或者td吧!!而且重点是如果加上你说的tagNAme的话显示的是undefined
追答
var divNode = tdNode.getElementsByTagName("div")[0];
alert(divNode); //显示结果是[object]
alert(divNode.tagName); //显示结果是div
注意大小写
tagNAme 错
tagName 对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有getbyname的方法,因为html中可以定义多个相同name的元素。但id是唯一的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成document.getElementByTagName试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询