我已经在JavaScript中将一个textContent应用于div。我无法在Internet Explorer中使用它。如何让它在Internet Explorer 8中工作。我尝试过:
<div id="price"></div>
和
document.getElementById("price").textContent = "GMGo is $5.00";
但它没有显示“GMGo为5.00美元”的文字
答案 0 :(得分:8)
ie8不支持textContent
,但有一种方法可以伪造它:
http://eligrey.com/blog/post/textcontent-in-ie8
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",
{ // It won't work if you just drop in innerText.get
// and innerText.set or the whole descriptor.
get : function() {
return innerText.get.call(this)
},
set : function(x) {
return innerText.set.call(this, x)
}
}
);
})();