参考https://blog.csdn.net/dexing07/article/details/77947333
通过一个小型案例就能发现区别,
给出一个这样的html结构:
<div id="test">
div的文本
<div style="display: none;">
<span>隐藏的内容</span>
</div>
<style>
style标签的内容
</style>
</div>
<script>
var divObj = document.getElementById('test')
console.log('textContent的输出:' + divObj.textContent)
console.log('innerText的输出:' + divObj.innerText)
console.log('innerHTML的输出:' + divObj.innerHTML)
</script>
输出结果:
我们发现:
- textContent 输出的内容包括了div内所有的文本内容,包括隐藏的元素文本和<style>标签内的文本;
- innerText 输出内容只有 div 的文本;
- innerHTML 则包括了div以内所有的文本,还保存了Dom结构