JavaScript: outerHTML в Firefox

Очень странно было для меня обнаружить, что на метод outerHTML некогда мой любимый браузер Firefox не проявил никакой абсолютно реакции.. Google Chrome, Opera и Internet Explorer при этом обрабатывают его как положенно. Решение — использовать собственную кроссбраузерную функцию:

function setOuterHTML(ElementID, newcode)
{
var someElement = document.getElementById(ElementID);
if (someElement.outerHTML) // if not Firefox
{ someElement.outerHTML = newcode; }
else // if Firefox
{
var range = document.createRange();
range.setStartBefore(someElement);
var docFrag = range.createContextualFragment(newcode);
someElement.parentNode.replaceChild(docFrag, someElement);
}
}

У функции, как видно, два параметра: ID элемента на странице и новый HTML код, на который необходимо заменить элемент.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *