<DIV id="xxx" ></DIV>
<script type="text/javascript"> 
function test(){
    if(document.getElementById("xxx").innerHTML == ""){//要兼容firefox,这里该怎么写???
        ......
    }
}
</script>请不要随便说是兼容的,
我试验过N次了(IE8/FF3.5.7),
firefox就是不认!!拜托各位拉,
谢谢!!

解决方案 »

  1.   

    FF下可以呀,测试代码:
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title></head><body>
    <DIV id="xxx" ></DIV>
    <script type="text/javascript"> 
    function test(){
        if(document.getElementById("xxx").innerHTML == ""){
            document.getElementById("xxx").innerHTML = "可以呀"
        }
    }
    test();
    </script></body></html>
      

  2.   

    连续两次呢??也就是给div加内容之后再判断呢?
      

  3.   

    我给div加两个子div,这个判断还是能通过!!
    所以才郁闷!!
      

  4.   


    <DIV id="xxx" ></DIV>
    <script type="text/javascript"> 
    function test(){
        if(document.getElementById("xxx").innerHTML == ""){
            ......//这里添加一个子div
        }
    }
    </script>问题是该方法调用几次,
    就会添加几个子div我是想如果已经有添加子div,
    就不再添加。。
      

  5.   

    document.getElementById("xxx").textContent == "" //兼容firefox
      

  6.   

    还是可以呀<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title></head><body>
    <DIV id="xxx" ></DIV>
    <script type="text/javascript"> 
    function test(n){
        if(document.getElementById("xxx").innerHTML == ""){
         alert(n);//只alert一次
            var o = document.createElement("div");
            o.style.backgroundColor="red";
            o.style.height = "111px";
            o.style.width = "111px";
            document.getElementById("xxx").appendChild(o);
        }
    }
    test(1);test(2);
    </script></body></html>
      

  7.   

    呵呵,兰州悲剧,还自己给innerHTML下了定义,说啥不兼容
      

  8.   

    不知道楼主怎么回事,我在IE fireFOx Chorm都执行一次<script type="text/javascript"> 
    function test(){
        var dd = document.getElementById("xxx");
        if(dd.innerHTML == ""){
            var d = document.createElement("DIV");
            d.innerHTML="你哈";
            document.getElementById("xxx").appendChild(d);
        }
    }
    </script>
      

  9.   

    innerHTML在ie、ff都是兼容的,只有innerText才不兼容ff。
    LZ是哪里出错了吧,仔细看看
      

  10.   

    丰云 这个不可能不兼容哇!
    你的意思是想要这种的是吗?
    <DIV id="xxx" ><div></DIV></DIV>
    <script type="text/javascript">
        function test() {
            var count = 0;
            if (document.getElementById("xxx").childNodes.length > 0) {
                //说明有子项
                for (var i = 0; i < document.getElementById("xxx").childNodes.length; i++) {                if (document.getElementById("xxx").childNodes[i].tagName.toUpperCase() == "DIV") {                    count++;
                    }
                }
            }        alert("div一共有"+count+"子项div");
            }
    window.onload = function () {    test();
    }
    </script>
      

  11.   

    如果说outerHTML火狐用不了,我信
      

  12.   

    用你的方法可以,就是不明白,
    一开始为什么childNodes.length就是1。
      

  13.   

    因为代码中div是这样子的 <DIV id="xxx" ><div></DIV></DIV>
      

  14.   


    我不是你说的那样
    我的代码里面没有子div,
    原因找到咯,是因为换行了:
    <div id="xxx">
    </div>
    就这样也算有子节点。
      

  15.   

    搞清楚咯,
    就是因为我的div有换行!!哎,丢人啊。
    谢谢大家,
    马上结帖。
      

  16.   

    楼主都自己解决了,20楼,21楼不注意看啊,
    是textNode 的问题!
      

  17.   

    $("#xxx")=="";
    dose it make sense?