蛋黄酱
2015-08-25 10:05
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<ul id="con">
<li id="lesson1">javascript
<ul>
<li id="tcon"> 基础语法</li>
<li>流程控制语句</li>
<li>函数</li>
<li>事件</li>
<li>DOM</li>
</ul>
</li>
<li id="lesson2">das</li>
<li id="lesson3">dadf</li>
<li id="lesson4">HTML/CSS
<ul>
<li>文字</li>
<li>段落</li>
<li>表单</li>
<li>表格</li>
</ul>
</li></ul>
<script type="text/javascript">
var mylist = document.getElementById("tcon");
var a=mylist.parentNode.parentNode;
for(var i=0;i<a.length;i++){
document.write(a[3].childNodes.innerHTML);}
</script>
</body>
</html>
这个问题不能用这种方法写吗?不知道这样写问题出在哪里,请帮忙看看。谢谢!
var mylist = document.getElementById("tcon"); 得到的是 object HTMLLIElement 也就是一个元素对象,并不是集合。所以mylist.parentNode.parentNode; 得到的也是一个元素对象,你不确定它是什么的时候可以输出看一下。所以这里的for循环没有意义。
parentNode永远只有一个节点,你可以alert(a.length).
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题