就直接使用createElement比较好,createElement的参数不是一段HTML内容,而应该是TAG的名称,如“A”、“BUTTON”等。
你可以试一下这段代码:
var obja = document.createElement("A");
obja.href = "http://www.sina.com.cn";
obja.target = "_new_";
obja.title = "测试创建A";
obja.innerText = "一个小测试";document.body.insertBefore(obja);

解决方案 »

  1.   

    谢谢,那DOCUMENT.WRITE 是怎么回事呢?好几个大哥看了,也没有一个确定的结果
      

  2.   

    有些怪啊,为什么包括在document.write()中的onMouseover只认诸如alert()之类的系统函数而不认我们自定的比如go2()这样的函数呢?顶了!
      

  3.   

    <script language=javascript>
    function gogo()
    {
      str="<script language=javascript>\nfunction go2()\n"
      str +="{alert(\"Success!!!!!!!!\");}\n</"
      str +="script> "  str+="<a id=aa href=# onMouseover=\'go2();\'>2222222222222</a>";
      document.write(str);
    }  
    </script>
    <body onload="gogo()">
    </body>
      

  4.   

    原来是这样.感谢"塞北的雪"问题可能出在在执行document.write()时,页面加载已经完成,而这时再用documet.write()向页面输出内容,那么页面原来的所有的内容都被冲掉了,包括我们定义的所有JS语句或函数,所以会提示缺少对象.既然这样,解决的办法好像就得像"塞北之雪"那样,所有的JS部分都定义成字符串再用document.write()统一输出,这样可能太麻烦了. 我推荐你用服务器脚本(asp等)配合JS完成你的功能吧,这样最好.
      

  5.   

    谢谢,我查了一些资料,也感觉到这个问题了,但书上讲document.write()只是控制输出显示流,不改变HTML源码,所以认为原来的东西还在的
      

  6.   

    就是说document.write()语句只能在onload事件之前执行,否则要出错是吗?
      

  7.   

    是吗?你的那本书上说不改变HTML源码?这就和测试的结果不吻合啊.我也只是推测而以.塞北的雪,你怎么看哦?
      

  8.   

    再请问一下,以前可以用document.write("<CENTER>");
    document.write("<A href=#>")
    document.write("</A>")
    document.write("</CENTER>");
    那么这个链接就可以居中,现在改用createElement后
    var obja = document.createElement("CENTER");
    document.body.insertBefore(obja);
    var objb = document.createElement("A");
    document.body.insertBefore(objb);
    链接没法居中了,请问有没有好的办法?谢谢
      

  9.   

    如果将document.write放到了 事件中, 比如上面的onload ,或者其他的什么onclick中的话,那么页面的内容就只剩下document.write的结果,其他的没有了。所以你需要将用到的所有东西都包含在document.write中。
    而如果值得document.write只写在顺序执行语句中。就不会影响其他的代码。
      

  10.   


    <script language='javascript'>
    function createA()
    {
    var objb = document.createElement("A");
    objb.href="http://www.baidu.com";
    objb.innerText="sss";
    liu.insertBefore(objb,'center');
    }
    </script>
    <body onload='createA()'>
    <div align="center" id="liu"></div>
    </body>
      

  11.   

    更正:
    <script language='javascript'>
    function createA()
    {
    var objb = document.createElement("A");
    objb.href="http://www.baidu.com";
    objb.innerText="sss";
    liu.insertBefore(objb);
    }
    </script>
    <body onload='createA()'>
    <div align="center" id="liu"></div>
    </body>