A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫洪刚 中级黑马   /  2012-4-18 19:56  /  1656 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

HTML代码是这样的:
<body>
<p>Myp</p>空白处<div id="Mydiv">MyDiv</div><span>MySpan</span>
</body>

JAVASCRIPT代码:
   <script type="text/javascript">
        window.onload = function () {
            var Mydiv = document.getElementById("Mydiv");
            alert(Mydiv.firstChild.nodeName); //#text
            alert(Mydiv.nextSibling.nodeName);//span
        }
    </script>
改一下HTML代码:
<body>
<p>Myp</p>空白处<div id="Mydiv">MyDiv</div>
<span>MySpan</span>
</body>
JAVASCRIPT代码:
    <script type="text/javascript">
        window.onload = function () {
            var Mydiv = document.getElementById("Mydiv");
            alert(Mydiv.firstChild.nodeName); //#text
            alert(Mydiv.nextSibling.nodeName); //#text
            alert(Mydiv.nextSibling.nextSibling.nodeName); //span
        }
    </script>
发现在Body中,空白处也是文本节点
猜想IE9是不是和火狐浏览器一样,在DOM树中,所有的空白处也算是一个节点.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        window.onload = function () {
            var nodes = document.getElementsByTagName("*");
            alert(nodes.length); //发现是5个节点
            for (var i = 0; i < nodes.length; i++) {
                alert(nodes[i].nodeName); //HTML HEAD TITLE SCRIPT BODE(并没有包含文本节点)
            }
        }
    </script>
</head>
<body>
</body>
</html>
那么在IE9中到底包不包含文本节点?为什么在上面这个程序中发现是5个节点树,而没有包含文本节点?
nextSibling属性该不该删去?

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马