<!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未定义
不应该是x.length 而是 x.childNodes.length
x.childNodes[x.length-1].nodeType这里的x.length-1是错误的,因为这里x是元素节点,你直接在后面添加length属性所得到的是undefined,所以才不能输出。
正确的是:
document.write("div的最后一个子节点是:"+x.childNodes[x.childNodes.length-1].nodeType);