当我需要更改span元素中的文本时,我应该使用哪个文本以及区别:
var spnDetailDisplay=document.getElementById('spnDetailDisplay');
spnDetailDisplay.innerText=sDetail;
或
var spnDetailDisplay=document.getElementById('spnDetailDisplay');
spnDetailDisplay.childNodes[0].nodeValue=sDetail;
答案 0 :(得分:17)
对于具有文本内容的元素,它们是相同的。有关nodeValue
的信息,请参阅this MDC article。
来自this article:
如果元素没有子元素,只有文本,那么它(通常)有一个子节点,访问为
ElemRef.childNodes[0]
。在这种精确的情况下,相当于ElemRef.innerText
的W3C Web标准是ElemRef.childNodes[0].nodeValue
。
答案 1 :(得分:4)
<script>
和<style>
。然而,截至2016年3月,所有主流浏览器的版本都支持innerText。
一般来说,它们是相似的,但如果您需要最佳性能,则应使用 nodeValue 。
效果测试链接:https://jsperf.com/read-innerhtml-vs-innertext-vs-nodevalue-vs-textcontent/13