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名称,也获取不到标签对象。
展开
 我来答
千锋教育
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>
网海1书生
科技发烧友

2013-05-10 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
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返回的是单一对象,而另两个则是集合。
更多追问追答
追问
你那是标签,我要的是标签对象,正常的他应该是显示div或者tr或者td吧!!而且重点是如果加上你说的tagNAme的话显示的是undefined
追答
var divNode = tdNode.getElementsByTagName("div")[0];
alert(divNode); //显示结果是[object]
alert(divNode.tagName); //显示结果是div

注意大小写
tagNAme 错
tagName 对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱彩爱彩爱彩
推荐于2018-03-01
知道答主
回答量:8
采纳率:0%
帮助的人:10.2万
展开全部

对兄弟伙佩服得五体投地啊!满篇的拼写啊,全是马虎,估计是初学吧

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzhihua225
2013-05-10
知道答主
回答量:6
采纳率:100%
帮助的人:6258
展开全部
没有getbyname的方法,因为html中可以定义多个相同name的元素。但id是唯一的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
polo_zs
2013-05-10 · TA获得超过216个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:312万
展开全部
改成document.getElementByTagName试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式