手记

关于innerHTML跟dom中NodeValue的区别

发现了一些有意思的事情。写下来记录一下也算给自己做的笔记,还能供各位一起欣赏:
innerHTML是微软提出的方法,并不在W3C标准之内。不过现在已经被HTML5所支持,对比于DOM。innerHTML更像一把重锤,DOM则像一把精致的手术刀,区别如下:

 var E=document.ElemnetById("E");
  E.childNodes[0].NodeValue='要修改的值';

注意的是,元素节点值为null或者为undefined,文本节点值为它自己本身,所以我们可以通过修改文本节点的值来达到修改文本内容的目的,
下面我们来看innerHTML;试试下面这段代码:

<body>
  <div id="div1"><p>s</p></div>
</body>
<script type="text/javascript">
   var d=document.getElementById('div1');
   alert(d.innerHTML)
</script>
</html>

如果你是手机用户,那么直接看这里:输出: <p>s</p>
很显然这里我们其实想要的p标签的内容.而不是整段文字,如果说DOM的NodeValue像单体技能。而innerHTML则更像范围性的AOE

2人推荐
随时随地看视频
慕课网APP