【问题标题】:To set html content using html.innerHTML,so that it works in IE 8 and 9使用 html.innerHTML 设置 html 内容,使其适用于 IE 8 和 9
【发布时间】:2015-11-27 15:49:16
【问题描述】:
var body = dojo.create("html", {innerHTML: tmplStr}).children[1];

tmplStr 提供所需的 html 内容。我想将其设置为 html.innerHTML。以上代码在 FireFox、GoogleChrome 和 IE10 中运行良好。但不能在 IE8 和 9 中工作。由于 innerHTML 在 IE8 和 9 中是只读的,因此我无法在 IE8 和 9 中设置内容。如果有人能帮助我解决这个问题,那就太好了。

【问题讨论】:

  • 只是想知道,为什么要在 JavaScript 中创建 <html> 元素?
  • 你可以做类似document.getElementsByTagName('body')[0].innerHTML = tmplStr;的事情吗?
  • 同意g00glen00b,这种做法看起来很奇怪。也许如果您描述了这样做的目标,我们可以提出更好的建议。
  • 由于我没有 dom 元素来存储正文内容...我已经创建了 html。我正在动态创建弹出窗口。

标签: javascript css internet-explorer-8 dojo internet-explorer-9


【解决方案1】:

你尝试过使用 jQuery 吗?
正在做: $('your_selector').text(yourHTMLCode);

【讨论】:

  • 他没有要求 jQuery
  • 谢谢 dbonfill,但不幸的是,我的应用程序不支持 jquery。如果我使用 dojo 或纯 javascript 获得任何解决方案会很好。
【解决方案2】:
var body = dojo.create("html");
html.set(body, tmplStr).children[1];

以上两行将解决问题。 IE8、9、10、Google chrome 和 ff 工作得非常好

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    相关资源
    最近更新 更多