Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   document.getElementById('id').innerText - проблемы (https://javascript.ru/forum/css-html-firefox-mizilla/12722-document-getelementbyid-%27id%27-innertext-problemy.html)

Semen 31.10.2010 02:17

document.getElementById('id').innerText - проблемы
 
function mkj() {
document.getElementById('n001').innerText=123;
}

document.write('<span id=n001></span>');


Подскажите где написано как изменить чтоб работал в Firefoxе

Aetae 31.10.2010 02:31

innerText >> textContent

Semen 31.10.2010 02:41

отлично, спасибо, работает...
А есть какой нибудь каталог, или справочник с подобным списком, ну т.е. альтернативные замены?
И будет ли корректным вот такой код, работающий...:
function mkj() {
document.getElementById('n001').innerText=123;
document.getElementById('n001').textContent=123;
}

document.write('<span id=n001></span>');

Aetae 31.10.2010 02:52

Хыхы, ну в принципе работать он будет, но правильно надо юзать условие)

Tim 31.10.2010 02:55

Думаю, что лучше сначала убедиться в том, что свойство поддерживается браузером.

// Для сокращения кода сохраняем ссылку на элемент в переменной
var elem = document.getElementById('n001');

// Проверяем имеет ли элемент свойство innerText
if(typeof(elem.innerText)!='undefined') {
    elem.innerText=123;
} elese {
    elem.textContent=123;
}


Ещё, как вариант, можно использовать свойство innerHTML. Оно универсально.

Тима 17.02.2011 13:29

а можно как-нить получать текст страницы, но чтобы js-скрипты,написанные сверху, вообще вырезались?

т.е. если бы страница:
<html>
<head>
<script>alert("nanana");</script>
</head>
<body>
<p>bla-bla-bla</p>
</body>
</html>

и если я делаю innerText или textContent, то у меня останется:
alert("nanana");
bla-bla-bla

а я хочу получать только bla-bla-bla

dmitriymar 17.02.2011 18:01

ну получай содержимое body


Часовой пояс GMT +3, время: 00:53.