Изменение содержимого с использованием innerHTML с нестандартным элементом в Internet Explorer - PullRequest
1 голос
/ 23 июня 2011

У меня есть нестандартный элемент

<testele></testele>

В каждом браузере, кроме IE, этот фрагмент JavaScript успешно изменит содержимое вышеуказанного элемента

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

Однако, если я изменил <testele> на <span> (в HTML и JavaScript), он теперь успешно меняет содержимое элемента в каждом браузере, включая IE.

Есть ли какое-нибудь исправление? Я искал вокруг и пробовал кучу безрезультатно.

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Используйте 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> был проанализированбраузер, уже слишком поздно.

1 голос
/ 23 июня 2011

Взгляните на innerShiv , плагин Javascript, который призван решить эту проблему.

...