2010-08-23 73 views
0

上個月我寫了很多頁面,今天我意識到innerText在Firefox中不起作用。 我發現textContent,但我不想挖掘我的噸的網頁。 也有時我用jQuery.text,它似乎在任何地方工作。Firefox的innerText解決方案

所以問題:這個地獄的最簡單的方法是什麼?

+1

innerText?請在這裏放一些代碼,這樣就可以answer.if你要替換html使用innerHTML – Salil 2010-08-23 13:17:35

回答

1

什麼?

var elem = document.getElementById("ElementID"); 
var text = document.createTextNode("Text"); 
text.nodeValue += " and more Text"; 
elem.appendChild(text); 

它不像搜索和替換友好,但它會保證你跨瀏覽器的兼容性。

如果您使用此方法,還可能需要從節點中刪除所有元素。你可以這樣做:

while (elem.hasChildNodes()) { 
    elem.removeChild(elem.firstChild); 
} 
0

使用.text()函數搜索並替換innerText

+0

ye。但它也不那麼容易 – eba 2010-08-23 13:18:02

+0

正如你所說的那樣,並不總是那麼簡單:地獄編輯器和適當的正則表達式可以使這個單擊任務。 – 2010-08-23 13:20:37

+1

好的。謝謝。我想我沒有選擇) – eba 2010-08-23 13:23:50

1

我絕不會在生產代碼中使用這一點,但...有關使用DOM approach

if (typeof HTMLElement != 'undefined' && HTMLElement.prototype.__defineGetter__ != 'undefined') { 
    HTMLElement.prototype.__defineGetter__("innerText", function() { 
     return this.textContent; 
    }); 
}