<!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>
三楼正解,这个结果确实没有任何问题
p和h5都是元素节点,元素节点的nodeValue是null或者undefined,我认为你的结果是正确的!
因为p和h5里面还有一个子节点且为文本节点,所以用nodeValue是取不出值的,要得话就x.firstChild.innerHTML才能拿出里面的JavaScript。
你输出1个就可以了,连续输出3个想干嘛? document.write(x.firstChild.nodeName)<br>document.write(x.lastChild.nodeName) 这样输出啊