Я пытаюсь выяснить, как изменить DOM, чтобы заменить элемент таблицей.Следующий код показывает snafu, с которым я столкнулся: если я пытаюсь заменить элемент простым абзацем, он работает нормально, но если я пытаюсь использовать таблицу, то в Internet Explorer 8 ничего не появляется, хотя другие браузеры все еще работают.Как я могу переписать код, чтобы он работал во всех браузерах?
HTML:
<p>
<a onclick="replaceElementTest(this);">Replace this text</a>
</p>
<p>
<a onclick="replaceWithTableTest(this);">Replace with test table</a>
</p>
JavaScript:
// Works in all browsers
function replaceElementTest(domElement){
var p = document.createElement("p");
p.innerHTML = "This element got REPLACED!";
domElement.parentNode.replaceChild(p,domElement);
}
// Doesn't work in IE8
function replaceWithTableTest(domElement){
var table, tr, td;
table = document.createElement("table");
tr = document.createElement("tr");
td = document.createElement("td");
td.innerHTML = "This element got replaced by a TABLE!"
table.appendChild(tr);
tr.appendChild(td);
domElement.parentNode.replaceChild(table,domElement);
}