IE9,Javascript:创建并添加新元素

| 我的代码在IE9中无法正常工作,在Chrome和Firefox上运行正常,但遇到了一些严重问题,但出现了一些错误。这是我的两个功能:
function insertHTML(content){
    var body=document.getElementsByTagName(\'body\');
    body[0].appendChild(createElement(content));
 }

function createElement(string){
     var container=document.createElement(\'div\');
     container.innerHTML=string;
     var element=container.firstChild.cloneNode(true);
     return element;
 }
我已经尝试过严格的方法,但似乎都没有用,我将确切解释我需要做的事情... ...我需要从html字符串创建一个新元素,该字符串是从ajax调用发送回的,因此我的脚本几乎不知道它包含的内容,直到获得它为止。 我确实尝试过使用element.innerHTML,但这不好,因为如果我在屏幕上有一个html元素(窗体),并且用户在其中输入数据,然后在插入另一个元素时,它将擦除所有用户输入的数据从第一种形式开始。我在做element.innerHTML + = newData; 所以基本上,我需要两件事: 1)一种从html字符串创建新元素的方法。 2)一种将元素附加到文档主体的方法。 所有这些都需要跨浏览器工作,并且不允许我使用jQuery,而且div父项中不能包含新元素,它必须具有主体作为其父项。 非常感谢您的帮助, 理查德     
已邀请:
        innerHTML是可读写的,它将破坏div中的所有内容。使用时要格外小心
function insertHTML( htmlString ){
    var bodEle = document.getElementsByTagName(\'body\');
    var divEle = createElement(\"div\");
    divEle.innerHTML = htmlString;
    bodEle.appendChild(divEle);
}
    

要回复问题请先登录注册