Проблема, есть текст вида
<div><span>text</span><script>alert('qq')</script></div>
Есть ли способ преобразовать эту строку в DOM объект, что бы можно было воспользоватся appendChild для выполнения скрипта? (строка зарание не извесна)
var div = document.createElement('div');
div.innerHTML = str;
теперь с содержимым div можно работать методами DOM.
Я понимаю, что можно использовать document.createElement, но тогда нужно написать скрипт который рекурсивно пробегает по всем элиментам строки и заменяет все на createElement, setAttribute. Получается это эдинственый выход?
var div = document.createElement('div');
div.innerHTML ="<div><span>text</span><script>alert(\'qq\')</script></div>"
document.getElementById('id_10').appendChild(div);
этот способ совершенно точно не работает в ИЕ, на хабре даже есть статья разработчика innerHTML, который объясняет почему
(надо отметить, что в FF все работает прекрасно)