问答详情
源自:9-9 访问子节点的第一和最后项

firstChild.nodeValue没有内容输出

<!DOCTYPE HTML>

<html>

<head>

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

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

</head>

<body>

<div id="con">

  <p>javascript</p>

  <div>jQuery</div>

  <h5>PHP</h5>

</div>

<script type="text/javascript">

  var x=document.getElementById("con");

  document.write("第一个子节点:"+x.firstChild.nodeName+x.firstChild.nodeValue+x.firstChild.nodeType+"<br>");

   document.write("最后一个子节点:"+x.lastChild.nodeName+x.lastChild.nodeValue+x.lastChild.nodeType+"<br>");

</script>

</body>

</html>


为什么我的x.d=firstChild.nodeValue没有内容输出?

提问者:石榴笑了 2018-08-17 16:13

个回答

  • 烙秦
    2018-08-17 17:17:18
    已采纳

    在子节点中两个标签之间的空格或换行都被解析为一个子节点(文本节点),

        <div id="con">到 <p>之间的空格或换行都被解析为一个子节点(文本节点),

        所以第一个子节点是文本节点,

        第二个子节点是<p></p>,

        第三个子节点是</p>到<div>之间的空格或换行。

        以此类推


        在上节课节点属性中讲到: 文本节点的 nodeValue 是文本自身。

    如果想看到效果,可以在<div id="con">到 <p>之间随便写点文本内容。

    或者

    <div id="con">到 <p>之间的空格和换行都去掉,什么都不写。

  • zoomdong
    2018-09-08 17:37:28

    妙啊!