没这做做的, <span 不是table内联元素(暂且这么叫吧)把 span改成 tbody试试

解决方案 »

  1.   

    TO  cgisir 但 <span id="f117cms_page_content">正在加载数据...... </span>  这个外面的元素究竟是 table 还是 其他根本就确定不了啊,一味改成 tbody 怎么行呢??
      

  2.   

    我说的也有问题, 不能在<tbody 里直接写字符串的那你应该把<span的父元素搞成一个没有依赖的整体
    比如
    <table><tr><td><span...</span></td></tr></table>或者
    <div><span...</span></div>相应的javastr也要没有依赖比如
    javastr = "<table> <tr> <td>123 </td> </tr> </table>" 

    javastr = "<table><tr> <td>    <table> <tr> <td>123 </td> </tr> </table>    </td> </tr></table>" 
      

  3.   

    那你就要判断 document.getElementById("f117cms_page_content").parentNode.tagName 为什么
    然后在确定 javastr 的内容
      

  4.   

    必须判断 parentNode 么? 用没有其他替代或者更好的办法?
      

  5.   

    改成<TABLE><tr><td><span id="f117cms_page_content">正在加载数据...... </span></td></tr></TABLE> '''注释一 
    就没事了
      

  6.   

    TO jol_boy <TABLE> <tr> <td> <span id="f117cms_page_content">正在加载数据...... </span> </td> </tr> </TABLE> 确定不了 span 外面究竟是 td ,tr 还是 table 还是什么其他 html 标签
      

  7.   

    主要是你不知道<span的父元素是什么, 只能判断了啊
      

  8.   

    document.write 似乎可以胜任,但是要出问题,
      

  9.   

    要确定span外面套的是什么元素??
    以你目前的方式,你看看,用alert(document.getElementById("f117cms_page_content").parentNode.parentNode.outerHTML);
    可以查出,当前span外层的table解析出来后的情况,
    table解析完之后是<table><tbody></tbody></table>
    所以,你想检测span外头是什么标签,可以用document.getElementById("f117cms_page_content").parentNode.tagName;
    可以多放几个parentNode,看看父亲的父亲(爷爷)是什么标签
      

  10.   

    我直接把完整代码贴出来,大家一起给我出点注意:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    <table><tr><td><span id="f117cms_page_content"></span></td></tr></table>  '****●●●***注释一: 确定不了span 外面究竟是 td,tr 还是 table 还是其他 html 标签<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td height="23" align="center" id="f117cms_pagedisp">&nbsp;</td></tr></table><script language="javascript">
    function f117cms_page_array(title,img){
        this.title=title;
        this.img=img;
    }var f117cms_content_item=new Array();f117cms_content_item[1]=new f117cms_page_array('成都市公安局交通管理局电子警察系统','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg');
    f117cms_content_item[2]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg');
    f117cms_content_item[3]=new f117cms_page_array('成都市公安局交通管理局电子警察系统','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg');
    f117cms_content_item[4]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg');
    f117cms_content_item[5]=new f117cms_page_array('成都市公安局交通管理局电子警察系统','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg');
    f117cms_content_item[6]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg');
    f117cms_content_item[7]=new f117cms_page_array('成都市公安局交通管理局电子警察系统','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg');
    f117cms_content_item[8]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg');var f117pagesize=4;
    var f117currpage=0;
    var f117move=0;
    var f117pagecount=0;
    f117pagecount=Math.ceil((f117cms_content_item.length-1)/f117pagesize)-1;
    function displaypage(f117move){
        var prepage=f117currpage;
        f117currpage=f117currpage+f117move;
        var start=f117pagesize*f117currpage+1;
        if(start<1||start>=f117cms_content_item.length){
            f117currpage=prepage;
            return;
        }  javastr = "";  javastr = javastr + "";
      for(var i=1;i<=2;i++){
      if(start<f117cms_content_item.length){
      javastr = javastr + "";
      javastr = javastr + "    <TR align=middle> ";
      javastr = javastr + " ";
      javastr = javastr + "   ";
      for(var j=1;j<=2;j++){
      if(start<f117cms_content_item.length){
      javastr = javastr + "";
      javastr = javastr + "      <TD vAlign=top width=\"50%\"> <TABLE cellSpacing=1 cellPadding=3 width=\"50%\" ";
      javastr = javastr + "                        bgColor=#e5e5e5 border=0>";
      javastr = javastr + "          <TBODY>";
      javastr = javastr + "            <TR> ";
      javastr = javastr + "              <TD bgColor=#f4f4f4> <TABLE cellSpacing=0 cellPadding=0 width=\"100%\" ";
      javastr = javastr + "                              border=0>";
      javastr = javastr + "                  <TBODY>";
      javastr = javastr + "                    <TR> ";
      javastr = javastr + "                      <TD align=middle><IMG class=box height=187 ";
      javastr = javastr + "                                src=\"" +f117cms_content_item[start].img +"\" ";
      javastr = javastr + "                                width=280 border=0><\/TD>";
      javastr = javastr + "                    <\/TR>";
      javastr = javastr + "                    <TR> ";
      javastr = javastr + "                      <TD align=middle height=25>" +f117cms_content_item[start].title +"<\/TD>";
      javastr = javastr + "                    <\/TR>";
      javastr = javastr + "                  <\/TBODY>";
      javastr = javastr + "                <\/TABLE><\/TD>";
      javastr = javastr + "            <\/TR>";
      javastr = javastr + "          <\/TBODY>";
      javastr = javastr + "        <\/TABLE><\/TD>";
      start++}
      }
      javastr = javastr + "";
      javastr = javastr + "    <\/TR>";
      javastr = javastr + "   ";
      }
      }
      javastr = javastr + "";
      document.getElementById("f117cms_page_content").innerHTML=javastr; 
       // f117cms_page_content.document.writeln(javastr) '****●●●* 注释二:如果此处这样写而不用 .innerHTML 赋值话,翻页的时候什么都就出问题了  var NumPages=0;
      var NumRecords=f117cms_content_item.length - 1;//总数
      var pagenext=NumRecords%f117pagesize;
      NumPages=((NumRecords-pagenext)/f117pagesize);//页数
      if((pagenext)>0) NumPages++;
      var showtext="";
      if(NumPages>0){
         showtext+="<span class=\"tpb_left\">第<b class=\"current_page\">"+(f117currpage+1)+"</b>/<b class=\"total_page\">"+NumPages+"</b>页</span>";
         showtext+="<span class=\"tpb_right\"><a href=\"javascript:displaypage(-1)\" class=\"tpb_btn_previous\"><</a>&nbsp;";
         for(i=1;i<=NumPages;i++){
            if(f117currpage==(i-1))
               showtext=showtext+"<span class=cur>"+i+"</span>&nbsp;";
            else
               showtext=showtext+"<a href=\"javascript:displaypage1("+(i-1)+")\">"+i+"</a>&nbsp;";
         }
         showtext=showtext+"<a href=\"javascript:displaypage(1)\" class=\"tpb_btn_next\">></a></span>";
      }
       document.getElementById("f117cms_pagedisp").innerHTML=showtext;
    }function displaypage1(f117move){
      displaypage(f117move - f117currpage);
    }if(f117currpage==0) displaypage(0);
    </script>   
      </TBODY>
    </TABLE></body>
    </html>
    ==================上面代码可直接在 html 中运行,其他 注释一和注释二就是问题的症结。我想达到的效果就是 http://www2.xhw028.com/pic.htm 
      

  11.   

    你的目的是想在一个table中动态的插入四行四列?
    那你何不在span中直接动态的组织table呢。
    span直接作为一级目录,在span肚子里面插入表格,而不是在一个table里面,利用span动态的插tr,td。反正你要的最终效果就是4行4列。
    用div也是行的,不过就是要定义样式,使4个div宽度加起来等于100%,到第五个div时,会自动挤到下一行显示的。会随着页面宽度变化而自动排列。
      

  12.   

    是不是这种效果?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>无标题文档 </title> 
    </head> <body> 
     <span id="f117cms_page_content"> </span>   '****●●●***注释一: 确定不了span 外面究竟是 td,tr 还是 table 还是其他 html 标签 <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="23" align="center" id="f117cms_pagedisp">&nbsp; </td> </tr> </table> <script language="javascript"> 
    function f117cms_page_array(title,img){ 
        this.title=title; 
        this.img=img; 
    } var f117cms_content_item=new Array(); f117cms_content_item[1]=new f117cms_page_array('成都市公安局交通管理局电子警察系统1','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg'); 
    f117cms_content_item[2]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织2','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg'); 
    f117cms_content_item[3]=new f117cms_page_array('成都市公安局交通管理局电子警察系统3','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg'); 
    f117cms_content_item[4]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织4','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg'); 
    f117cms_content_item[5]=new f117cms_page_array('成都市公安局交通管理局电子警察系统5','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg'); 
    f117cms_content_item[6]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织6','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg'); 
    f117cms_content_item[7]=new f117cms_page_array('成都市公安局交通管理局电子警察系统7','2009-2/18/f117_5ba853aedbea799ed1b9a800a6c5b22f.jpg'); 
    f117cms_content_item[8]=new f117cms_page_array('成兰铁路本周将开建 四川打掉40个涉黑组织8','2009-2/17/f117_f32d977a5db1c5e325f3ccca892b5cae.jpg'); var f117pagesize=4; 
    var f117currpage=0; 
    var f117move=0; 
    var f117pagecount=0; 
    f117pagecount=Math.ceil((f117cms_content_item.length-1)/f117pagesize)-1; 
    function displaypage(f117move){ 
        var prepage=f117currpage; 
        f117currpage=f117currpage+f117move; 
        var start=f117pagesize*f117currpage+1; 
        if(start <1||start>=f117cms_content_item.length){ 
            f117currpage=prepage; 
            return; 
        }   javastr = "<table>";   javastr = javastr + ""; 
      for(var i=1;i <=2;i++){ 
      if(start <f117cms_content_item.length){ 
      javastr = javastr + ""; 
      javastr = javastr + "    <TR align=middle> "; 
      javastr = javastr + " "; 
      javastr = javastr + "   "; 
      for(var j=1;j <=2;j++){ 
      if(start <f117cms_content_item.length){ 
      javastr = javastr + ""; 
      javastr = javastr + "      <TD vAlign=top width=\"50%\"> <TABLE cellSpacing=1 cellPadding=3 width=\"50%\" "; 
      javastr = javastr + "                        bgColor=#e5e5e5 border=0>"; 
      javastr = javastr + "          <TBODY>"; 
      javastr = javastr + "            <TR> "; 
      javastr = javastr + "              <TD bgColor=#f4f4f4> <TABLE cellSpacing=0 cellPadding=0 width=\"100%\" "; 
      javastr = javastr + "                              border=0>"; 
      javastr = javastr + "                  <TBODY>"; 
      javastr = javastr + "                    <TR> "; 
      javastr = javastr + "                      <TD align=middle> <IMG class=box height=187 "; 
      javastr = javastr + "                                src=\"" +f117cms_content_item[start].img +"\" "; 
      javastr = javastr + "                                width=280 border=0> <\/TD>"; 
      javastr = javastr + "                    <\/TR>"; 
      javastr = javastr + "                    <TR> "; 
      javastr = javastr + "                      <TD align=middle height=25>" +f117cms_content_item[start].title +" <\/TD>"; 
      javastr = javastr + "                    <\/TR>"; 
      javastr = javastr + "                  <\/TBODY>"; 
      javastr = javastr + "                <\/TABLE> <\/TD>"; 
      javastr = javastr + "            <\/TR>"; 
      javastr = javastr + "          <\/TBODY>"; 
      javastr = javastr + "        <\/TABLE> <\/TD>"; 
      start++} 
      } 
      javastr = javastr + ""; 
      javastr = javastr + "    <\/TR>"; 
      javastr = javastr + "  "; 
      } 
      } 
      javastr = javastr + "</table>"; 
      document.getElementById("f117cms_page_content").innerHTML=javastr; 
      // f117cms_page_content.document.writeln(javastr) '****●●●* 注释二:如果此处这样写而不用 .innerHTML 赋值话,翻页的时候什么都就出问题了   var NumPages=0; 
      var NumRecords=f117cms_content_item.length - 1;//总数 
      var pagenext=NumRecords%f117pagesize; 
      NumPages=((NumRecords-pagenext)/f117pagesize);//页数 
      if((pagenext)>0) NumPages++; 
      var showtext=""; 
      if(NumPages>0){ 
         showtext+=" <span class=\"tpb_left\">第 <b class=\"current_page\">"+(f117currpage+1)+" </b>/ <b class=\"total_page\">"+NumPages+" </b>页 </span>"; 
        showtext+=" <span class=\"tpb_right\"> <a href=\"javascript:displaypage(-1)\" class=\"tpb_btn_previous\"> < </a>&nbsp;"; 
        for(i=1;i <=NumPages;i++){ 
            if(f117currpage==(i-1)) 
               showtext=showtext+" <span class=cur>"+i+" </span>&nbsp;"; 
           else 
              showtext=showtext+" <a href=\"javascript:displaypage1("+(i-1)+")\">"+i+" </a>&nbsp;"; 
         } 
         showtext=showtext+" <a href=\"javascript:displaypage(1)\" class=\"tpb_btn_next\">> </a> </span>"; 
      } 
      document.getElementById("f117cms_pagedisp").innerHTML=showtext; 
    } function displaypage1(f117move){ 
      displaypage(f117move - f117currpage); 
    } if(f117currpage==0) displaypage(0); 
    </script>   
      </TBODY> 
    </TABLE> </body> 
    </html> 
      

  13.   

    我这样说吧 ,上面 js 中的 javastr变量里的内容完全是根据某些特殊符号(用 asp) 来捕获并赋值的,试问(asp)如何捕这些特殊符号外的 html 代码来赋值(就是你说的组织)到变量中呢?
      

  14.   

    TO  jol_boy 效果是你那样的效果。但现在就是那样的问题,注释一span外面的标签不确定,上面例举的是如果是 table 出的问题,再者 javastr变量里的内容不能人工去改变,比如人为的加 table。
      

  15.   

    QQ群:78824265 
    讨论:Asp.Net/C#/Asp/Access/Sql Server;css,html,js,ajax;网站经营;爱情;工作;人生;  
      

  16.   

    把整个table放到span里面吧
    <span id="f117cms_page_content"><TABLE><tr> 正在加载数据...... </tr></TABLE></span>  '''注释一 
      
    <script> 
      javastr = " <TABLE><tr> <td>    123    </td> </tr></table>" 
      
      document.getElementById("f117cms_page_content").innerHTML=javastr; </script> 
    </body>
      

  17.   

    javastr = " <tr> <td>    <table> <tr> <td>123 </td> </tr> </table>    </td> </tr>" 
    你换成
    javastr = " <tr> <td>    <table> <tbody> <tr> <td>123 </td> </tr> <tbody> </table>    </td> </tr>" 看下
    我曾经也用js生成表格
    但是在IE没有tbodey的话,js生成表格根本看不到