<body>
<ul>
<li title="title">javascript</li>
<li title="title">HTML/CSS</li>
<li title="title">jQuery</li>
</ul>
<script type="text/javascript">
var anode=document.getElementsByTagName("li");
// 为什么var anode=document.getElementsByName("title");却不可以??
for(i=0;i<anode.length;i++)
{document.write(anode[i].nodeName+"<br />");
document.write(anode[i].nodeValue+"<br />");
document.write(anode[i].nodeType+"<br />");
};
</script>
</body>
哦,不好意思~其实,你的var anode=document.getElementsByName("title")的确不行,因为你的“title”不是“name”属性!!!正确:
用法getElementsByName("name属性")
以下附上我修正的代码:
<body>
<ul>
<li name="title">javascript</li>
<li name="title">HTML/CSS</li>
<li name="title">jQuery</li>
</ul>
<script type="text/javascript">
// var anode=document.getElementsByTagName("li");
var anode=document.getElementsByName("title");
for(i=0;i<anode.length;i++)
{
document.write("节点内容:"+anode[i].innerHTML+"<br/>");
document.write(anode[i].nodeName+"<br />");
document.write(anode[i].nodeValue+"<br />");
document.write(anode[i].nodeType+"<br />");
document.write("----------------------------"+"<br/>");
};
</script>
</body>
一样可以的啊!
getElementsByTagName:通过标签获取节点元素集合;
getElementsByName:通过name属性获取节点元素集合;
以上返回的都是以数组形式返回的,从你的问题中,我注意到你的“getElementsByTagName”和“getElementsByName”在Element后面漏打了“s”,估计这是导致你不能正常运行程序的主要原因~