2010-08-23 5 views
0

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

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

+1

внутреннийText? пожалуйста, введите код здесь, чтобы он мог ответить. Если вы хотите заменить html div, используйте innerHTML – Salil

ответ

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

Поиск и замена innerText с функцией .text().

+0

ye. но его также не так просто – eba

+0

Как вы сказали, не всегда легко выйти из ада :-) Приличный редактор и соответствующее регулярное выражение могут сделать это одним щелчком мыши. –

+1

ОК. спасибо. я думаю, у меня нет выбора) – eba

1

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

if (typeof HTMLElement != 'undefined' && HTMLElement.prototype.__defineGetter__ != 'undefined') { 
    HTMLElement.prototype.__defineGetter__("innerText", function() { 
     return this.textContent; 
    }); 
} 
Смежные вопросы