使用nodValue为何不行,求助大神~~~

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

qq_四月天_10

2017-02-09 22:30

<!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 myl=mylist.parentNode.parentNode.parentNode.lastChild;
// document.write(myl.innerHTML);
var my2=myl.childNodes[0].childNodes;
for(var i=0;i<my2.length;i++)
{
    document.write(my2[i].nodeValue);
}
</script> 
</body>
</html>


写回答 关注

3回答

  • 苦笑KUXIAO
    2017-02-10 16:32:59

    首先要知道你用的是什么浏览器。不是IE的话32行的myl.childNodes[0]获取到的是“HTML/CSS”文本节点而不是ul。

    然后你看一下9-7节,元素节点的nodeValue返回为null,所以应该用my2[i].innerHTML。


  • 苦笑KUXIAO
    2017-02-10 16:32:11

    浏览器兼容

  • 我喜欢学习
    2017-02-10 16:02:37

    首先要知道你用的是什么浏览器。不是IE的话32行的myl.childNodes[0]获取到的是“HTML/CSS”文本节点而不是ul。

    然后你看一下9-7节,元素节点的nodeValue返回为null,所以应该用my2[i].innerHTML。

    qq_四月天...

    感谢,其实我对于第一不部分回答不是很理解【myl.childNodes[0]获取到的是“HTML/CSS”文本节点而不是ul。】,第二部分说到元素节点返回的是Null,但是不知如何判断一个对象是元素节点还是文本节点,例如<P>是元素节点还是文本节点呢?这个是根据它所处的情景是否是文本来确定吗?

    2017-02-10 20:16:58

    共 1 条回复 >

JavaScript进阶篇

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

468192 学习 · 21891 问题

查看课程

相似问题