我已将 textContent 应用于 JavaScript 中的 div。我无法让它在 Internet Explorer 中工作。我怎样才能让它在 Internet Explorer 8 中工作。我试过这样做:
<div id="price"></div>
和:
document.getElementById("price").textContent = "GMGo is $5.00";
但它没有显示文字“GMGo is $5.00”
我已将 textContent 应用于 JavaScript 中的 div。我无法让它在 Internet Explorer 中工作。我怎样才能让它在 Internet Explorer 8 中工作。我试过这样做:
<div id="price"></div>
和:
document.getElementById("price").textContent = "GMGo is $5.00";
但它没有显示文字“GMGo is $5.00”
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)
}
}
);
})();