问答详情
源自:9-10 访问父节点parentNode

为什么输出的开始和最后都有一个undefined

<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>


提问者:猿来是我丶 2016-07-29 23:12

个回答

  • 慕移动9181930
    2022-03-24 11:22:51

    别钻牛角尖,视频里是通过类比,让我们形象地更容易地理解类和对象,而不是区分什么类什么类,不要本末倒置classfirstp

  • 一剑一人
    2016-08-03 22:00:11

    只要求求到ul的最后一个li, 所以 这句var x=mylist.parentNode.parentNode.parentNode.lastChild.childNodes; 多求了一个子节childNode ,  for判断句多余,所以后面因为 document.write(x.innerHTML);

  • polemo_ivy
    2016-08-02 09:47:55

    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>

  • 猿来是我丶
    2016-07-29 23:13:46

    undefined
    文字
    段落
    表单
    表格
    undefined