从网上找了别人的兼容代码,firefox已经可以识别onload函数中的有关outerHTML代码,但是在其他函数中却不能重新赋值,如if(document.getElementById("Mi")){
document.getElementById("Mi").outerHTML = str +"</select>";
alert(document.getElementById("Mi").outerHTML);
}重新赋值后,firefox的错误控制台显示第三行的document.getElementById("Mi") is null怎么回事啊,调了2天了,快崩溃了

解决方案 »

  1.   

    你不用 outHtml不行么?外面套个标签用innerHTML不就可以了么
      

  2.   

    应该这样吧?
    document.getElementById("Mi").outerHTML = "<select id='Mi'>"+str +"</select>";
      

  3.   

    除了偶尔调试用,就没用过outHTML。
      

  4.   


    我在onload时已经对“Mi”赋值了,并且这里str里已经包含了"<select id='Mi'>"这些内容
      

  5.   

    outerHTML其实是把ID为Mi的元素替换了,如果不给个ID,第二次就找不到ID为Mi的元素了。
      

  6.   


    先说说你什么要求非要用outHTML不可。
    document.getElementById("Mi").outerHTML = str +"</select>";
    alert(document.getElementById("Mi").outerHTML);
    这一部分估计你alert时outerHTML 还没加载完,所以找不到,你用个定时器50毫秒后再alter看看。
      

  7.   

    用innerHTML很好,而且测试过程中发现了另一个bug,全解决了,感谢各位!