2010-01-22 57 views
0

如何获取一个字符串并在IE中使用它创建一个html片段。这在非ie浏览器中正常工作。在IE中从一个字符串创建一个范围或html片段

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

'createContextualFragment'是不是一定需要考虑的广泛采用innerHTML'的'。这里有几个使用文档片段的答案,以避免使用直接的'innerHTML'方法得到的额外的div:http://stackoverflow.com/questions/814564/inserting-html-elements-with-javascript/814649 #814649和http://stackoverflow.com/questions/788614/ways-to-increase-performance-when-set-big-value-to-innerhtml/788661#788661 – 2010-01-22 19:56:57

+1

innerHTML在主流浏览器中有不少特质。我真的很想知道如何使用符合W3C标准的代码来做到这一点。 – Praesagus 2010-02-04 22:48:27

回答

1

你可能想考虑使用jQuery?跨浏览器兼容,并更容易使用:

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

jQuery sitedocumentation