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

时间:2011-06-23 19:06:05

标签: javascript internet-explorer innerhtml getelementsbytagname

我有非标准元素

<testele></testele>

在除IE之外的每个浏览器中,这一点JavaScript都会成功更改上述元素的内容

document.getElementsByTagName("testele")[0].innerHTML = 'hi';

但是,如果我将<testele>更改为<span>(在HTML和JavaScript中),它现在可以成功更改每个浏览器中元素的内容,包括IE。

有什么问题吗?我一直在四处寻找并尝试了一堆无济于事。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

在呈现之前使用document.createElement("testele")。在文档鼓励<testele>

之前,必须包含此脚本

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

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

如果您在浏览器解析document.createElement("testele")后尝试<testele>,则为时已晚。