用chiliNodes最后一行不能输出

来源:9-9 访问子节点的第一和最后项

weixin_慕圣4359847

2019-09-23 17:15

<!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("div的第一个子节点是:"+x.firstChild.nodeType+"<br>");

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

 document.write("div的最后一个子节点是:"+x.childNodes[x.length-1].nodeType);

</script>

</body>

</html>

无法输出,浏览器编译显示nodeType未定义

写回答 关注

2回答

  • 慕工程4157871
    2020-04-28 15:05:00

    不应该是x.length 而是 x.childNodes.length

  • sdarks
    2019-09-24 15:54:43

    x.childNodes[x.length-1].nodeType这里的x.length-1是错误的,因为这里x是元素节点,你直接在后面添加length属性所得到的是undefined,所以才不能输出。

    正确的是:

    document.write("div的最后一个子节点是:"+x.childNodes[x.childNodes.length-1].nodeType);


JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题