innerHTML 与 outerHTML区别

示例代码:

<div id="test">
    <p>这是innerHTML</p>
    <p>这是innerHTML</p>
</div>

innerHTML:

//

var test = document.getElementById('test');
console.log(test.innerHTML);


//
test.innerHTML = '<p>重新写入innerHTML</p>';
console.log(test.innerHTML);

结果如下: 

//读取结果
<p>这是innerHTML</p>
<p>这是innerHTML</p>


//写入结果
<p>重新写入innerHTML</p>

 

outerHTML:

//
var test = document.getElementById('test');
console.log(test.outerHTML);

//
test.outerHTML = '<p>重新写入outerHTML</p>';
console.log(test.outerHTML);

结果如下:

//
<div id="test">
    <p>这是innerHTML</p>
    <p>这是innerHTML</p>
</div>

<div id="test">
    <p>这是innerHTML</p>
    <p>这是innerHTML</p>
</div>

这里要注意一个问题,就是给outerHTML写入内容的时候,会将元素本身替换掉,这一点可以通过审查页面结构可以看出来。故,我们打印出来的结果其实是原来的元素内容,重新写入的结果需要通过审查页面结构才可以看出来!!!!

 

结论:

innerHTML 和 outerHTML 的区别就是:outerHTML 会获取(替换)元素本身。

 

posted @ 2017-09-17 00:03  莫问、前程  阅读(2506)  评论(0编辑  收藏  举报