觅己网
2016-10-21 14:24
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<div>
javascript
<p>javascript</p>
<div>jQuery</div>
<h5>PHP</h5>
</div>
<script type="text/javascript">
var div=document.getElementsByTagName("div")[0].childNodes;
document.write("zijiediangeshu"+div.length+"<br />");
document.write("jiedianleixing"+div[0].nodeType);
</script>
</body>
</html>
这是一个浏览器的兼容问题。标准浏览器会把空白部分以及文本节点(比如<p></p>后面空白部分)也作为子节点之一;所以标准浏览器有7个子节点,如果用IE浏览器IE6-8则只会有3个子节点。
为什么我谷歌浏览器显示7个节点其中4个正是作为4个文本节点的4段文本?即
javascript
<p>javascript</p>
<div>jQuery</div>
<h5>PHP</h5>
这样的话如果再加上空白节点的话岂不是11个节点了?
楼上正解,在本节课已经写出来了。
2. 节点之间的空白符,在firefox、chrome、opera、safari浏览器是文本节点,所以IE是3,其它浏览器是7。
如果你把里面换行都去掉,写成一行。 <div>javascript<p>javascript</p><div>jQuery</div><h5>PHP</h5></div> 就会只有4个节点
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题