在 Internet Explorer 中使用带有非标准元素的innerHTML 更改内容
我有非标准元素
<testele></testele>
在除 IE 之外的每个浏览器中,这段 JavaScript 将成功更改上述元素的内容
document.getElementsByTagName("testele")[0].innerHTML = 'hi';
但是,如果我将
更改为 < ;span>
(在 HTML 和 JavaScript 中),它现在可以成功更改每个浏览器中的元素内容,包括 IE。
有什么解决办法吗?我四处寻找并尝试了很多都无济于事。
I have the non-standard element
<testele></testele>
In every browser except IE, this bit of JavaScript will successfully change the content of the above element
document.getElementsByTagName("testele")[0].innerHTML = 'hi';
However, if I change the <testele>
to just a <span>
(in the HTML and the JavaScript), it now successfully changes the content of the element in every browser, including IE.
Is there any fix? I have searched around and tried a bunch to no avail.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在渲染之前使用
document.createElement("testele")
。必须在文档遇到
之前包含此脚本:http:// jsfiddle.net/gilly3/LjwbA/
如果您尝试在
之后执行document.createElement("testele")
已经被浏览器解析了,已经太晚了。Use
document.createElement("testele")
before it is rendered. This script must be included before the document encouters a<testele>
:http://jsfiddle.net/gilly3/LjwbA/
If you try to do
document.createElement("testele")
after a<testele>
has been parsed by the browser, it's too late.看看innerShiv,一个旨在解决这个问题的Javascript插件。
Take a look at innerShiv, a Javascript plugin which aims to solve this.