打开页面为什么只弹出一个undefined方框????????元素的fistChild为什么不包括其属性节点??
<!DOCTYPE html >
<html >
<head>
<meta charset=utf-8 />
<script type="text/javascript" src="text.js"></script>
</head>
<body>
<p title="aas">123 wee</p>
<h3>aaa</h3>
</body>
</html>
下面是对应的JavaScript代码,
alert(document.getElementsByTagName("p").firstChild);
alert(document.getElementsByTagName("p").firstChild.nodeValue);
alert(document.getElementsByTagName("p").lastChild);
alert(document.getElementsByTagName("p").lastChild.nodeValue);
alert(document.getElementsByTagName("p").innerHTML);
getElementByTagName返回的是一个节点列表,注意加[0],找到确定的元素,另外还是少使用child,建议用children来代替
document.getElementsByTagName("p")
返回的是HTMLCollection对象,你可以把它当作一个数组看待,数组是没有所谓firstChild或lastChild属性的。
原代码中,运行到第二行就出错了,下面的也没有执行。应该改为:
var p = document.getElementsByTagName("p")[0];
alert(p.firstChild);
alert(p.firstChild.nodeValue);
alert(p.lastChild);
alert(p.lastChild.nodeValue);
alert(p.innerHTML);
如 @Nana_Morse 所说,注意 document.getElementsByTagName
返回值。
我认为楼主应该用 console.log
替代 alert