为什么不能这样写呢?

来源:9-10 访问父节点parentNode

蛋黄酱

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>

这个问题不能用这种方法写吗?不知道这样写问题出在哪里,请帮忙看看。谢谢!

写回答 关注

2回答

  • zoe0773
    2015-08-31 16:04:14

    var mylist = document.getElementById("tcon");    得到的是   object HTMLLIElement  也就是一个元素对象,并不是集合。所以mylist.parentNode.parentNode; 得到的也是一个元素对象,你不确定它是什么的时候可以输出看一下。所以这里的for循环没有意义。

  • uhelper_net
    2015-08-04 17:41:15

    parentNode永远只有一个节点,你可以alert(a.length).

    蛋黄酱

    请问把哪个内容改成alert(a.length)呢?我不是很懂,谢谢!

    2015-08-25 20:33:17

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题