慕盖茨9358327
2018-05-21 19:39
<!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 x = mylist.parentNode.parentNode.parentNode.childNodes[7].childNodes[1];//.childNodes[3].childNodes[0].nodeValue;
for(var i = 0;i<x.childNodes.length;i++){
document.write(x.childNodes[i].childNodes[0].nodeValue);
}
</script>
</body>
</html>
document.write(x.childNodes[i].childNodes[0].nodeValue);
childNodes[i]的子节点有元素节点和文本节点,文本节点没有子节点,所以childNodes[0]这里会出错
<script type="text/javascript">
var mylist = document.getElementById("tcon");
var hc=mylist.parentNode.parentNode.parentNode.lastChild.childNodes[1].childNodes;
for(var i=0;i<hc.length;i++){
if(hc[i].nodeType==3){
continue;
}
else{
document.write(hc[i].firstChild.nodeValue+'<br/>');
}
}
</script>为啥这段代码却可以??
JavaScript进阶篇
469067 学习 · 22582 问题
相似问题