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

输出结果问题,为什么后三个#text内容是空的什么都没有

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>

<div>

  javascript  

  <p>javascript</p>

  <div>jQuery</div>

  <h5>PHP</h5>

</div>

<script type="text/javascript">

 var x=document.getElementsByTagName("div")[0].childNodes;

 for(var i=0;i<x.length;i++){

     document.write("节点名:"+x[i].nodeName+"<br/>"+"节点值:"+x[i].nodeValue+"<br/>"+"节点类型:"+x[i].nodeType+"<br/><br/>");

 }

 

 

</script>

</body>

</html>


结果是这样的



javascript

javascript

jQuery

PHP


节点名:#text

节点值: javascript 

节点类型:3


节点名:P

节点值:null

节点类型:1


节点名:#text

节点值: 

节点类型:3


节点名:DIV

节点值:null

节点类型:1


节点名:#text

节点值: 

节点类型:3


节点名:H5

节点值:null

节点类型:1


节点名:#text

节点值: 

节点类型:3


正在回答

4 回答

http://img1.sycdn.imooc.com//597f204d0001c05c12160758.jpg

http://img1.sycdn.imooc.com//597f204e0001bd1011950754.jpg

http://img1.sycdn.imooc.com//597f204f0001afb813730763.jpg

也是初学,一点个人的理解希望能对你帮助


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

qq_X_181 提问者

明白了 感谢
2017-08-01 回复 有任何疑惑可以回复我~
#2

AAAaaZz3248469

第一张图里面,第一个 #text显示undefined的原因不是父节点DIV后面有换行空白节点,我觉得这个div后面的空白节点和第二行的文本JavaScript是一起的属于一个文本节点。之所以会显示undefined是因为第一张图里你的函数是返回innerHTML属性,而这个是作用于标签的属性对文本节点没用。所以在第二张图里你把innerHTML改成nodeValue后,就返回了文本节点的内容JavaScript。
2017-08-02 回复 有任何疑惑可以回复我~
#3

又报错了T_T 回复 AAAaaZz3248469

nb a
2017-08-07 回复 有任何疑惑可以回复我~
#4

NLTwelve 回复 AAAaaZz3248469

是的666
2017-08-07 回复 有任何疑惑可以回复我~
#5

qq_X_181 提问者 回复 AAAaaZz3248469

感谢指出错误
2017-08-07 回复 有任何疑惑可以回复我~
查看2条回复

//img3.sycdn.imooc.com/59e1fe0500019bfd06030410.jpg

//img1.sycdn.imooc.com/59e1fe060001ba1206090491.jpg

空白节点!

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

对于自己的回答的错误进行了一定的了解,@AAAaaZz3248469说的对,这是一些实验的结论,望指正。

nodeValue,是节点的值,其中属性节点和文本节点是有值的,而元素节点没有值。

innerHTML以字符串形式返回该节点的所有子节点及其值,但是图1中的x是子节点,即x[0]是文本节点,所以结果为undefined。

http://img1.sycdn.imooc.com//598860e70001279d12920699.jpg


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

qq_X_181 提问者

感谢这么详细的解释
2017-08-07 回复 有任何疑惑可以回复我~

明白了  感谢

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468278    人
  • 解答问题       21892    个

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

进入课程

输出结果问题,为什么后三个#text内容是空的什么都没有

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