js中innerHTML、 nodeValue与 textContent
文章类型:Javascript
发布者:hp
发布时间:2023-04-20
一:区别
1:innerHTML
属性设置或返回表格行的开始和结束标签之间的 HTML,可获取或设置指定元素标签内的 html内容,从该元素标签的起始位置到终止位置的全部内容(包含html标签)
<p id="prag" title="text">
一段文本
<span>一句话</span>
</p>
var p = document.getElementById('prag')
console.log('innerHTML', p.innerHTML) // \n 一段文本\n <span id="sp">一句话</span>\n
2:nodeValue
属性设置或返回指定节点的节点值。nodeValue 属性的替代选择是 textContent 属性。nodeValue只适用于文本节点和属性节点,对标签节点不适用,返回null
console.log('nodeValue', p.nodeValue) // null
3:textContent
属性设置或者返回指定节点的文本内容。如果设置了textContent属性,任何子节点都会被移除,然后被指定的字符串的文本节点替换
console.log('textContent', p.textContent) // \n 一段文本\n 一句话\n
二:总结
1:Element.innerHTML, 读写元素的 HTML 内容
2:Text.nodeValue, 读写文本节点内容
3:Node.textContent, 读写节点的文本内容,连接在一起返回