<div id="box"></div><script>
document.getElementById("box").innerHTML = "hello";
</script>运行后什么都没显示,但是在div里加上内容,就正常显示"hello",请问这是什么原因,如果保持div里面没内容(为了严谨和美观),如何用js定位这个对象呢?

解决方案 »

  1.   

    楼主的意思就是说,想让这个div显示,但是内容又必须为空?是这个意思吗?
      

  2.   

    用css控制就可以啊。
    要是看不到效果就先加个黑色背景,然后用css定位,之后把背景删掉就可以了。
      

  3.   

    没加载完毕?放到onload中试试看
      

  4.   

    <BODY  onload=set()><div id="box"></div>
    </BODY>
    <script>
    function  set(){
         document.getElementById("box").innerHTML = "hello";
    }
    </script>
    这样绝对可以啊       经测试完全OK,当网页打开加载时   就会显示hello,你错在只是没有给这个JS事件放在何时去执行!!   要是用jquery也可以比较快速简单的实现,
      

  5.   

    除非 你把<script></script>放在<head></head>里时 会有错 因为运行head里的script时 DOM还没加载!
      

  6.   

    给空div赋值,但是你没有说什么时候才去赋值,如果想要页面一加载进来就显示内容那就应该在加载事件中写:onload。
      

  7.   

    Mark一下,还要研究一下再来回复
      

  8.   

    就是浏览器可能还没有等DOM元素加载完了就去执行你的JS了,就会造成这种情况。
    所以一般都要求所有执行的JS代码都是在所有DOM加载完以后才能执行的。
      

  9.   

    楼主把代码写规整些,就没有问题了,如下<html>
        <body>
            <div id = "box" >
            </div>
            <script type = "text/javascript">
                document.getElementById("box").innerHTML = "hello";
            </script>
        </body>
    </html>
    如果div里面没有内容,默认是显示不出来的,CHROME浏览器查看div样式属性,height为0正如楼上所说,添加高度和宽度的样式后,div就在页面显示了,但你看不到但可以选中修改一下背景颜色就可以看到了,定位的话你可以考虑css样式,或者直接标签里style也行你的问题都解答了,可以结贴了吧
      

  10.   

    楼主代码没有错,是DIV的问题
    给div加宽度和高度就好了。<div id="box" style='width:200px;height:200px;border:1px #000 solid;'><div>