适用于Firefox的innerText解决方案

时间:2010-08-23 13:14:10

标签: javascript firefox

上个月我写了很多页面,今天我意识到innerText在Firefox中不起作用。 我找到textContent,但我不想挖掘我的页面。 有时我使用jQuery.text,似乎无处不在。

那么问题:这个地狱最简单的方法是什么?

3 个答案:

答案 0 :(得分:1)

我绝不会在生产代码中使用它,但是......

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

答案 1 :(得分:1)

如何使用DOM approach

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 );
}

答案 2 :(得分:0)

使用.text()功能搜索并替换innerText