關于Mozilla瀏覽器不支持innerText的解決辦法

比如:
Hello , world!

我們使用代碼:alert((document.getElementById("test")).innerText)

在IE、Chrome中,均能獲取到“Hello , world!”,但是在Firefox中,卻得到了"undefined" 。其原為是firefox中并不支持元素的innerText這個屬性 。當然,在網絡上已經有很多好的方法來解決這個問題了,比如給HTMLElement原型添加一個屬性(讀取器) 。

然而,所有文本節點都具有nodeValue屬性,而且所有瀏覽器都是支持的 。我們可以嘗試用這種方法去讀取一個HTML元素內的文本 。
下面的原碼 , 正好解決了這個問題:

關于Mozilla瀏覽器不支持innerText的解決辦法

有了這個函數 , 我們再來看看如下DOM結構:
【關于Mozilla瀏覽器不支持innerText的解決辦法】Hello , world!

然后,我們用:
alert(getText(document.getElementById("test"));
在IE、Chrome、Firefox中均能獲取到 "Hello, world!"

相關經驗推薦