关于JS操作DOM的一些小细节

<span style="font-family: SimHei;"> <span style="font-size:18px;">  好吧,DOM是HTML对于JS提供的一个API,里面有许多内置方法供我们使用,可以创建节点,删除节点等。可是,今天就遇见了一个小问题。上代码:</span></span>
<span style="font-family:SimHei;"><span style="font-size:18px;"><!DOCTYPE HTML>
<html>
<head>
    <script src="jquery-1.11.1.js"></script>
    <meta charset="utf-8" />
    <style type="text/css">
      body{
           font-family: simhei;
      }
        </style>
</head>
<body>
<div id="liping">
    <div>
        <h5>LIPING</h5>
    </div>
</div>
<script type="text/javascript">

    var str=document.getElementById('liping');

    console.log(str.firstChild.nodeName);

    </script>
</body>
</html></span></span>
<span style="font-family:SimHei;"><span style="font-size:18px;">刚开始咋一看,不就输出DIV么,可是输出这样:</span></span>
<span style="font-family:SimHei;"><img src="https://img-blog.csdn.net/20151005154752211?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
</span>
<span style="font-family:SimHei;">然后将</span><span style="font-family: SimHei;">console.log(str.firstChild.nodeName);</span><span style="font-family: SimHei;">写成  console.log(str.childNodes);</span>
<span style="font-family:SimHei;">输出这样:</span>
<span style="font-family:SimHei;"><img src="https://img-blog.csdn.net/20151005155023017?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
</span>
<span style="font-family:SimHei;">
</span>
<span style="font-family:SimHei;"><span style="font-size:18px;">好吧,我知道了,最外层DIV的第一个子节点是空白节点,空白节点包括空格,TAB,回车等。</span></span>
<span style="font-size:18px;"><span style="font-family:SimHei;">将HTML元素这样写,就会保证它的第一个子节点是预期的:</span><span style="font-family: SimHei;"><div id="liping"><div><h5>LIPING</h5></div></div></span></span>
<pre name="code" class="html"><span style="font-family:SimHei;font-size:18px;">但是这样排版难免不好看,不好编辑管理。</span>
<span style="font-family:SimHei;"></span><p><span style="font-size:18px;">IE提供的childNodes和firefox下的childNodes的行为是有区别的,firefox下childNodes会把换行和空白字符都算作父节点的子节点,而IE的不会。</span></p>


<span style="font-family: SimHei;">
</span>


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值