innerText или textContent
Добрый день, подскажите пожалуйста какое свойство лучше использовать для доступа к значениям ячеек таблицы? Оба работают одинаково, на первый взгляд, но в чем их отличие?
|
textContent отсутствует в IE8-
свойство innerText не описано в спецификации (однако возможно в будущем это изменится), его нет в FireFox, и поведение отличается тем, что все <br> конвертируются в конец строки. |
Цитата:
|
День добрый... столкнулся с проблемой...
Есть код:
<SMALL>
<BR>Состояние обновления<br> <B>Данные обновлены <br>21 ч. 58 мин. назад.</B>
</SMALL>
Хочу вытащить текст... Делаю:
var textTMP = document.getElementsByTagName('SMALL')[0].innerHTML;
alert(textTMP);
выдает: "<BR>Состояние обновления<br> <B>Данные обновлены <br>21 ч. 58 мин. назад.</B>" Делаю:
var textTMP = document.getElementsByTagName('SMALL')[0].innerText;
или
var textTMP = document.getElementsByTagName('SMALL')[0].textContent;
Выдает: "undefined" Браузер Мозила |
Согласно этой таблице, в Fifefox это свойство точно есть начиная с третьей версии.
<!DOCTYPE html>
<SMALL>
<BR>Состояние обновления<br> <B>Данные обновлены <br>21 ч. 58 мин. назад.</B>
</SMALL>
<script>
var textTMP = document.getElementsByTagName('SMALL')[0].textContent;
alert(textTMP);
</script>
|
innerText в разы быстрее обновляет текстовые узлы чем textContent и innerHTML
|
Цитата:
если важна скорость - попробуй ещё такой вариант:
var fc = node.firstChild;
(fc ? (fc.data = "text") : node.appendChild(document.createTextNode("text"));
это предполагает, что кроме текста никаких элементов в ячейках не будет. |
Цитата:
http://jsperf.com/innertext-vs-textcontent-complette браузер Chrome 29.0.1547.66 |
Цитата:
|
Цитата:
td.firstChild.data = "new value"; где td - ссылка на ячейку таблицы, содержащую текст. |
| Часовой пояс GMT +3, время: 06:54. |