write方法在页面未加载完毕时意味着添加内容到相应的位置,如果页面加载完了,再write就会把其它东西替换掉,可以考虑用dom来添加对象,也可以用innerHTML  或 outerHTML

解决方案 »

  1.   

    谢谢两位:
    function auto(url){
    document.write("<table></table>")
    }
    我最终是想把table显示加到这一页的相应位置中,请写出这句的代码好吗?
    innerHTML  或 outerHTML这些我都不大会用。
    我会给各位加分的!谢谢
      

  2.   

    找DHTML手册中的
    createElement or createNode 创建DOM对象
    insertRow  给表格添加行
    insertCell 给行添加列
    appendChild 给对象添加子对象
      

  3.   

    在你想放的地方先放一个div或span都行,例如:<div id="div1"></div>
    js中:document.getElementById('div').innerHTML="<table>...</table>"
      

  4.   

    不好意思,错了。
    应该是:document.getElementById('div1').innerHTML="<table>...</table>"
      

  5.   

    zhaoxiaoyang(梅雪香@深圳)我认为你特别厉害,可是你讲的dom什么我都不懂啊,我也查过DHTML手册了http://www.phpx.com/man/dhtmlcn/可没找到啊,有没有简单的方法啊?我太笨了5555
    另外,Aricc(虫子)你的方法我试了可没显示出来 还有个未知名错误
    不过谢谢你啊那位大哥知道的话加我QQ啊,155118850解决后我直接给分 绝不失言
      

  6.   

    <span id="aa"></span>
    function run(){
    document.getElementById('aa').innerHTML="<img src=http://www.sina.com.cn/1.gif width=100 height=100 onerror=auto('http://www.sina.com.cn')>"
    }
      

  7.   

    好象不大对啊我的问题在
    function auto(url){
    document.write(tim)
    }

    当我加入dom这段代码后就出现了“对象不支持此属性或方法”这一错误
    怎么办啊???????????????????????
    如下:
    <script>
    var tim
    function auto(url){
    var script=document.createelement("script");
    script.insertRow="<table id=sh><tr height=\"6\"><td width=\"7\" bgcolor=\"#618DCC\"><\/td><td width=\"1\" bgcolor=\"#ffffff\"><\/td>"
    document.body.appendchild(script);
    }
    function run(){
    document.write("<img src=http://www.sina.com.cn/1.gif width=100 height=100 onerror=auto('http://www.sina.com.cn')>")
    }
    run()
    </script>
      

  8.   

    createelement => createElement
    insertRow 是 <table> 里专有的方法,你乱用这个干吗?function auto(url)
    {
      if(document.readyState=="complete")
        document.body.insertAdjacentHTML("afterBegin", tim);
      else document.write(tim);
    }
      

  9.   

    <script type="text/javascript">
      //<![CDATA[
    function foo(){
    var t=document.getElementById("tbl");
    var r=t.insertRow()
    //var c1=r.insertCell().innerHTML=""; c1.width="7";
    var c2=r.insertCell().innerHTML="<img src=http://www.sina.com.cn/1.gif width=100 height=100>";
    }
      //]]>
      </script>
    <input type="button" value="insert" onclick="foo()"/>
    <table id="tbl" border="1">
    </table>
      

  10.   

    meizz(梅花雪)大哥您好! 我使用您的方法把if语句的结果互换了一下:
    function auto(url)
    {
      if(document.readyState=="complete")
         document.write(tim)
      else
        document.body.insertAdjacentHTML("afterBegin", tim);
     
    }
    得到了tim的值但是显示的tim出现在页面的左上方,其实我的最终目的是想把tim得到的值用
    一个table图形的宽度来表示,如何才能实现并显示在页面的相应位置呢???????????????????????????????????????对不起 ,BlueDestiny(这回真的准备要改名字了...) 
    我不想使用其他控件 跪谢各位!(O_O)
      

  11.   

    function auto(url)
    {
      if(document.readyState=="complete")
         document.write(tim)
      else
        {
            var table=document.createElement('<table><tr>'+tim'</tr></table>')
            document.body.appenChild(table)//你想把table放在哪儿,就用哪个控件来append
        } 
    }
      

  12.   

    if(document.readyState=="complete")
         {document.write(tim)}
      else
        {
            var table=document.createElement('<table><tr>'+tim+'</tr></table>')
           document.body.appenChild(table)
    //你想把table放在哪儿,就用哪个控件来append
        } 
    大哥 我把您这段代码加上后出现错误“对象不支持此属性或方法”补充一句我这些javascript
    是加在asp页里的
    怎么解决啊???????????
    哪位大哥知道的话加我QQ啊,155118850解决后我直接给分 绝不失言
    在线等~~~~~~~~~~~~~~~~~~~~~~~~
      

  13.   

    应该是这样if(document.readyState=="complete")
         {document.write(tim)}
      else
        {
    var table=document.createElement("<table>")
    document.body.appendChild(table)
    //你想把table放在哪儿,就用哪个控件来append
    var tr=table.insertRow()
    var td=tr.insertCell()
    td.innerHTML=tim

      

  14.   

    但是我上边错误的代码不会报错的,只是显示不出来效果而以猜测你的原因是:大小写错误……,或者脚本块放在了不适当的地方建议你查一下大小写,然后把script块改为<script defer>
      

  15.   

    我郁闷的要死掉了
    我把大部分代码贴出:
    <%循环开始%>
    <table>.....</table>
    <div id="<%=i%>"> </div>         //程序外部用i值做的从0到9的循环,服务器端执行
     <script language=Javascript type=text/Javascript>
    <!--
    var tim=1;
    setInterval("tim++",100)
    var autourl = new Array()
    autourl[<%=i%>]="<%=s_url%>"
    function auto(url)
    {
      {
      if(document.readyState=="complete")
         document.write(tim)
      else
        document.getElementById(<%=i%>).insertAdjacentHTML("afterBegin", tim);

    }
    }
    function run(){

    document.write("<img src=http://"+autourl[<%=i%>]+"/"+Math.random()+" width=100 height=100 onerror=auto('http://+autourl[<%=i%>]+')>")
    }

    run()
    //-->
    </script> 
    <%循环结束%>
    这是跟具各位所说该到的代码,但现在有这样一个问题,经循环显示后测试得到的tim值无法分开
    插到每个table后面,而是在最后一个table后一起显示。
    ???奇怪的是图片却能分开显示,为什么啊???????????????????
    我跪拜各位了 可怜可怜小弟吧!555555555555555555555555555555555
      

  16.   

    在你的页面中设置一个<div id=theDiv...>,将两个函数中的document.write换成
        document.getElementById("theDiv").innerHTML = "你要表达的内容"
    如果要累计增加可以这样写:
        document.getElementById("theDiv").innerHTML += "你要表达的内容"
      

  17.   

    我按您的方法试过了,得出的” document.getElementById(...)为空或不是对象“这样的错误
    。。
      

  18.   

    function auto(url)
    {document.getElementById(<%=i%>).innerHTML=tim;
    }这一函数经改写后,出现这样一个问题:
    假设程序循环两边,
    我要得到的结果是tim的值应分别加在<div id=0>和<div id=1>的后面,两个不同的位置
    而实际显示是先显示的tim的值会覆盖掉后显示的 并出现在<div id=1>的后面
    ????????????????????????????????????????????????????????????????????????????????????
      

  19.   

    http://community.csdn.net/Expert/topic/4892/4892426.xml?temp=.2815973
    看这可能更明白点