本帖最后由 okshangrila 于 2011-01-27 09:18:36 编辑

解决方案 »

  1.   


    function showHtml()
    {
        document.getElementById("data123").innerHTML = "This is a html";
    }
    这个是函数showHtml();
    这个是执行这个函数
    因为页面还没有加载data123元素, 你就执行当然获取不到了,
    正确的写法是
    函数可以放到head里 
    showHtml();
    这个执行要放到需要获取的元素的下面
      

  2.   

    上边那一种 方法 运行到script时 DOM还没有加载 那个SPAn还没有呢 是没有的,
    如果你写成 window.onload = function(){
       document.getElementById("data123").innerHTML = "This is a html"
    }
    就不会有错了下面那种 放法 在运行到script时 已经加载过了SPAN那一行代码
    个人觉得还是加载顺序影响的
      

  3.   

    <html>
    <head>
    <script type="text/javascript">
    function showHtml()
    {
        document.getElementById("data123").innerHTML = "This is a html";
    }</script>
    </head>
    <body onload="showHtml();">
    <span id="data123"></span>
    </body>
    </html>
    这样才可以。因为你把函数调用放在了head中,在函数调用的时候,而body部分还没有加载,当然会报错了。