document.getElementById('AnyName').innerHTML = 内容不能在 IE 或 Safari 中工作,但在 Chrome 和 Firefox 中工作

document.getElementById('AnyName').innerHTML = content not working in IE or Safari, but working in Chrome and Firefox

忙于构建一个 website,在用户做出多个选择后,绘制图形。我正在使用 javascript 替换 div 的内部 HTML 以完成不同的步骤,更具体如下所示:

document.getElementById('AnyName').innerHTML = content;

这在 Chrome 和 Firefox 中有效,但在 Safari 或 IE 中无效。

目前内容大致定义如下,仅举个例子:

var content = (function () {/*
    <div class="selectNavbar">
    Some HTML and other stuff here
    </div>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

我尝试用 value/textContent 替换 innerHTML,因为我看到有些人在使用 Safari 时遇到问题,这似乎解决了问题,但页面仍然无法在新的 HTML.

我也用过 w3 validator 但似乎只有我使用草率的样式,我认为这不是这里的问题。

提前致谢。 如果有人需要我可以 link 所有代码,但源代码可以在上面提到的 link .

中查看

我建议你先完成这个 innerText vs innerHtml vs label vs text vs textContent vs outerText

我不知道你当初为什么选择 innerHTML。 我已经看到你的页面 javascript,你所做的似乎只是更新文本值。

innerHTML用于put/get个元素to/from另一个元素
您可以使用 innerTexttextContent 来解决您的问题 textContent 仅适用于 IE11,因此最好选择 innerText

或做类似

的事情
var divElement=document.getElementById('id');
var value=document.getElementById('someotherid');
if(divElement.textContent)
  divElement.textContent=value;
else 
  divElement.innerText=value;