为了账号安全,请及时绑定邮箱和手机立即绑定

大家看一下,控制台报错,test.html:89 Uncaught TypeError: lists[i].getAttribute is not a function

<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 lists = mylist.parentNode.parentNode.parentNode.childNodes;
   for(var i = 0;i<lists.length;i++){
       if(lists[i].getAttribute("id")=="lesson4"){  //这里有错
           document.write(lists[i].firstChild.nodeValue);
       }
   }
</script>


正在回答

3 回答

https://img1.sycdn.imooc.com//5c7795980001333605080181.jpg你把这块修改一下就出现结果了,


具体出现的结果怎么修改我是这样弄得

https://img1.sycdn.imooc.com//5c77963f000133d206040185.jpg

1 回复 有任何疑惑可以回复我~

lists一共有8个子节点,第一个就是空白的,没有ID。改成lists[1]或者lists[3]基数都能运行,改成偶数也是同样报错,我想大概是这个原因引起的。但我想没有ID应该返回null也是可执行下去的,这里还需要高人指点

0 回复 有任何疑惑可以回复我~

因为"tcon"的祖节点是"lesson1",而这个"lesson1"和"lesson4"是平行关系,他只有一个子节点。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大家看一下,控制台报错,test.html:89 Uncaught TypeError: lists[i].getAttribute is not a function

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信