语法很正常啊,要注意的是你在调用 div1对象的代码必须在加载<div>之后执行

解决方案 »

  1.   

    怎么加载啊?我的div1已经写在script前面了啊?怎么还是这样的呢?
      

  2.   

    TRY:
    <body>
    <div id="div1"></div>
    <script language="javascript">
    div1.innerText = "This is div1";
    </script>
    </body>
      

  3.   

    <body onload="mm()">
    <div id="div1"></div>
    <script>
    function mm()
    {
      document.getElementById("div1").innerHTML = "This is div1";
    }
    </script>
      

  4.   

    谢谢上面两位,
    <body>
    <div id="div1"></div>
    <script language="javascript">
    div1.innerText = "This is div1";
    </script>
    </body>
    这个是可以的,为什么少了<body>就不行了呢?
      

  5.   

    因为你不加<body>那在客户端实际加载的会是这样的代码:
    <html>
      <head>
        <script language="javascript">
    div1.innerText = "This is div1";
        </script>
      </head>
      <body>
        <div id="div1"></div>
      </body>
    </html>
      

  6.   

    这个问题和浏览器对页面对象的解析有关,当页面没有定义body标签(即没有document对象)时,且页面内描述的容器对象(如div、span)内容为空时,这时浏览器会对此视而不见,并不会加载该对象。所以div1.innerText便找不到对象。如果页面只有div没有其他显示元素,那么只有当div内有内容时(非空格),浏览器才会加载该div对象,因为一旦有显示元素,body对象将被自动加载。举例如下:
    1. 非空的div对象,有效
    <div id="div1">在这里添加任何非空内容</div>
    <script language="javascript">
    div1.innerText = "This is div1";
    </script>2.其他显示元素,也有效
    如果加载的div是空的,则必须有其他页面可显示元素,如下
    <br>
    <div id="div1"></div>
    <script language="javascript">
    div1.innerText = "This is div1";
    </script>
    以上代码也没问题,因为body对象会自动添加,一旦body被添加了,则无论空否,div都会被添加