1

我已将 textContent 应用于 JavaScript 中的 div。我无法让它在 Internet Explorer 中工作。我怎样才能让它在 Internet Explorer 8 中工作。我试过这样做:

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

和:

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

但它没有显示文字“GMGo is $5.00”

4

1 回答 1

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)
        }
      }
    );
  })();
于 2013-08-05T17:03:38.063 回答