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另一个元素
您可以使用 innerText
或 textContent
来解决您的问题
textContent
仅适用于 IE11,因此最好选择 innerText
或做类似
的事情
var divElement=document.getElementById('id');
var value=document.getElementById('someotherid');
if(divElement.textContent)
divElement.textContent=value;
else
divElement.innerText=value;
忙于构建一个 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另一个元素
您可以使用 innerText
或 textContent
来解决您的问题
textContent
仅适用于 IE11,因此最好选择 innerText
或做类似
的事情var divElement=document.getElementById('id');
var value=document.getElementById('someotherid');
if(divElement.textContent)
divElement.textContent=value;
else
divElement.innerText=value;