在 Internet Explorer 中使用带有非标准元素的innerHTML 更改内容

发布于 2024-11-16 21:58:52 字数 378 浏览 4 评论 0原文

我有非标准元素

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清晰传感 2024-11-23 21:58:52

在渲染之前使用 document.createElement("testele")。必须在文档遇到 之前包含此脚本:

http:// jsfiddle.net/gilly3/LjwbA/

document.createElement("testele");
window.onload = function() {
    document.getElementsByTagName("testele")[0].innerHTML = 'hi';
};

如果您尝试在 之后执行 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/

document.createElement("testele");
window.onload = function() {
    document.getElementsByTagName("testele")[0].innerHTML = 'hi';
};

If you try to do document.createElement("testele") after a <testele> has been parsed by the browser, it's too late.

匿名的好友 2024-11-23 21:58:52

看看innerShiv,一个旨在解决这个问题的Javascript插件。

Take a look at innerShiv, a Javascript plugin which aims to solve this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文