<script type="text/javascript"> var mylist = document.getElementById("tcon"); var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes; for(var i=0;i<x.length;i++) document.write(x[i].innerHTML); </script>
别钻牛角尖,视频里是通过类比,让我们形象地更容易地理解类和对象,而不是区分什么类什么类,不要本末倒置亲,不是的,是class类名为first的p标签,所以不能加入空格。
只要求求到ul的最后一个li, 所以 这句var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes; 多求了一个子节childNode , for判断句多余,所以后面因为 document.write(x.innerHTML);
1、现在的x为id=lesson4的那个li的所以的childNodes,即"HTML/CSS"和ul、li内的所有元素。直接读取x所以元素的innerHTML就指向不明确了。改为
var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes[1].childNodes;
即读取id=lesson4的那个li内的ul的子节点。
2、for语句的函数内容没有用“{”和“}”包起来;
3、ul中去掉空白符,即<ul><li>文字</li><li>段落</li><li>表单</li><li>表格</li></ul>
undefined 文字 段落 表单 表格 undefined