Обидва innerText& textContentстандартизовані станом на 2016 рік. Усі Nodeоб'єкти (включаючи чисті текстові вузли) мають textContent, але мають лише HTMLElementоб'єкти innerText.
Хоча textContentпрацює з більшістю браузерів, він не працює на IE8 або раніше. Використовуйте цей полів, щоб він працював лише на IE8. Цей поліфіл не працюватиме з IE7 або раніше.
if (Object.defineProperty
&& Object.getOwnPropertyDescriptor
&& Object.getOwnPropertyDescriptor(Element.prototype, "textContent")
&& !Object.getOwnPropertyDescriptor(Element.prototype, "textContent").get) {
(function() {
var innerText = Object.getOwnPropertyDescriptor(Element.prototype, "innerText");
Object.defineProperty(Element.prototype, "textContent",
{
get: function() {
return innerText.get.call(this);
},
set: function(s) {
return innerText.set.call(this, s);
}
}
);
})();
}
Object.definePropertyМетод Availabe в IE9 або вгору, проте він доступний в IE8 для DOM тільки об'єкти.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent