如何让textContent在Internet Explorer 8(JavaScript)中工作

时间:2013-08-05 16:46:47

标签: javascript internet-explorer

我已经在JavaScript中将一个textContent应用于div。我无法在Internet Explorer中使用它。如何让它在Internet Explorer 8中工作。我尝试过:

<div id="price"></div>

document.getElementById("price").textContent = "GMGo is $5.00";

但它没有显示“GMGo为5.00美元”的文字

1 个答案:

答案 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)
        }
      }
    );
  })();