1. innerHTML
innerHTML可以作為獲取文本的方法也可以作為修改文本內容的方法
element.innerHTML 會直接返回element節點下
所有的
HTML化的文本內容
<body>
<div>文本</div>
<div>文本</div>
</body>
document.body.innerHTML //返回"<div>文本</div><div>文本</div>";
同樣逆向的:
document.body.innerHTM="<div>文本</div><div></div>"會生成
<body>
<div>文本</div>
<div>文本</div>
</body>
!注意
innerHTML方法只能作用於元素節點調用;文本節點並不能使用這個方法返回undefined!
2. nodeValue
nodeValue是一個HTML DOM的對象屬性;
同樣的 可以通過 nodeValue設置節點的文本內容也可以直接返回文本內容
直接用節點對象調用就都可以: 如上例
document.getElementsByTagName(div)[0].childNodes[0].nodeValue //返回“文本”
另外 nodeValue 屬性並不只存在於文本節點下 元素節點和屬性節點對象也都具有nodeValue屬性
屬性節點的 nodeValue屬性返回屬性值
元素節點的 nodeValue屬性返回null
3.textContent
textContent與innerHTML方法類似會返回對象節點下所有的文本內容
但是區別為 textContent返回的內容只有去HTML化的文本節點的內容 如上例:
document.body.textContent //返回"文本文本"
!注意
在DOM中標簽換行產生的空白字符會計入DOM中作為文本節點
另外IE8以前
不支持
textContent屬性
4.innerText
innerText方法與textContent方法類似 並且和innerHTML一樣也是作用於元素節點上但是瀏覽器對於這兩種方法解析空白字符的機制不一樣;不是很常用類似的還有outText outHTML等類似操作文本相關的方法,不是很常用;最后要提醒一點:文本與文本節點一定要區分,有些方法是依靠元素節點返回子文本內容,有些方法是文本節點返回自身文本內容,文本節點是對象而文本只是字符串。
類似的還有outText outHTML等類似操作文本相關的方法,不是很常用;
最后要提醒一點:文本與文本節點一定要區分,有些方法是依靠元素節點返回子文本內容,有些方法是文本節點返回自身文本內容,文本節點是對象而文本只是字符串。