Создать диапазон или фрагмент html в IE из строки

Как мне взять строку и создать с ней html-фрагмент в IE. Это отлично работает в браузерах, отличных от IE.

var str = "<div>Foo</div>";
var range = document.createRange();
var frag = range.createContextualFragment(str);
var e = document.getElementById("element");
e.appendChild(frag);

person Praesagus    schedule 22.01.2010    source источник
comment
createContextualFragment совсем не нужен, учитывая широкое распространение innerHTML. Вот пара ответов, в которых используются фрагменты документов, чтобы избежать лишнего болтающегося div, который вы получили бы при прямом подходе innerHTML: stackoverflow.com/questions/814564/ и stackoverflow.com/questions/788614/   -  person Crescent Fresh    schedule 22.01.2010
comment
innerHTML имеет довольно много особенностей в основных браузерах. Я действительно хотел бы знать, как это сделать, используя код, совместимый с w3c.   -  person Praesagus    schedule 05.02.2010


Ответы (1)


Вы можете рассмотреть возможность использования jQuery? Кроссбраузерность и простота использования:

$(document).ready(function() {
  var str = "<div>Foo</div>";
  $('#element').append(str); //assuming your element's id is 'element'
});

сайт jQuery и документация

person KP.    schedule 22.01.2010