Внутреннее текстовое решение для Firefox - PullRequest
0 голосов
/ 23 августа 2010

В прошлом месяце я написал много страниц, и сегодня я понял, что innerText не работает в Firefox. Я нашел textContent, но я не хочу копать тонны страниц. Также иногда я использовал jQuery.text, кажется, работает везде.

Итак, вопрос: какой самый простой выход из этого ада?

Ответы [ 3 ]

1 голос
/ 23 августа 2010

Я бы никогда не использовал это в рабочем коде, но ...

if ( typeof HTMLElement != 'undefined' && HTMLElement.prototype.__defineGetter__ != 'undefined' ) {
    HTMLElement.prototype.__defineGetter__("innerText", function () {
        return this.textContent;
    });
}
1 голос
/ 23 августа 2010

А как насчет использования DOM подхода ?

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 голосов
/ 23 августа 2010

Найдите и замените innerText на функцию .text().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...