如何向div里innerHTML一个table,还是说这个不可行?

解决方案 »

  1.   

    innerHTML = '<table><tr><td>table</td></tr></table>';不行?
      

  2.   

    不行,我尝试了。向table里面添加tr,向div,span里面添加html代码,都无法成功,但然,如果是非html代码是可以的。
      

  3.   

    刚才尝试使用outerHTML同样是没有效果!
      

  4.   

    应该是 document.getElementById().innerHTML 
      

  5.   


    table中除了td,caption元素允许innerHTML外,其他的都不行!
      

  6.   

    <table><tbody><tr><td>1111111</td></tr></tbody></table>
    table下是不是要加个tbody?
      

  7.   

    这个就麻烦了。我的最初想法是,能在div里面将动态生成的table加入,但尝试多次,多个方法都没有达到要到。请问有实现成功的方法吗?????
      

  8.   

    处理完的信息需要列表形式展现,这处理过程都是用js脚本实现的。最后得到的结果为生成的table,table里面存放信息,将table展现出来。
    现在得到结果为,想table里面里面innerHTML TR,但必须首尾添加tbody,但导致结果为信息不再一列表的现实展现,没有了样式。
      

  9.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <title>test</title>
        <style type="text/css">
            .table_back {
                width: 480px;
                height: 480px;
                border-bottom: 1px solid black;
                border-right: 1px solid black;
            }        .floor {
                border-left: 1px solid black;
                border-top: 1px solid black;
                font-size: 1px;
            }
        </style></head>
    <body>
    <a href="javascript:init(11);">test</a>
    <script type="text/javascript">
        function init(data) {        var self = this;
            this.rowCount = self.rowCount || 20;        this.colCount = self.colCount || 20;        this.parent1 = self.parent1 || document.body; // ??        this.table_back = document.createElement("table");
            this.table_back.className = 'table_back';
            for (var i = 0; i < this.rowCount; i++) {
                var tr = this.table_back.insertRow(-1);
                for (var j = 0; j < this.colCount; j++) {
                    var td = tr.insertCell(-1);
                    td.className = "floor";
                    td.innerHTML = "&nbsp;";
                }
            }
            this.parent1.appendChild(this.table_back);
        }
    </script>
    </body>
    </html>
      

  10.   

    <div id="aa">
    </div>
    <script language="javascript">
    document.getElementById("aa").innerHTML="<table border=1><tr><td>aaaaaaaaaaaaaaa</td></tr></table>"
    </script>
      

  11.   

    要在table里面加个tbody
    " <table border=1></tbody> <tr> <td>aaaaaaaaaaaaaaa </td> </tr> </tbody></table>" 要不然就用Table对象的那些api
      

  12.   

    13楼的方法我尝试过多次了。之前以为我整个页面html标签写的有问题,导致不能显示。但我检查后,确定页面html代码没有问题了。但还是无法inner显示成功。
      

  13.   

    14楼的方法可以inner成功,但放到table里面的信息,没有了样式。变成一行了。而我原先的信息时多行多列的。
      

  14.   

    LZ看看下面的例子行不,你先定义一个空的table结构,然后用类似的方法用脚步添加
            
    var newTr = targetTable.insertRow(1);
            
            Util.AddEventListenerEx(newTr, "onclick", Grid.ClickHandler, [id, val]);
            
            var oJson = eval('(' + strJson + ')');
            for (var i = 0; i < oJson.length; i++) {
                var obj = oJson[i];
        var value = obj.val;
        var newTd = newTr.insertCell(i);            var div = targetDoc.createElement("div");
        div.className = style;
        div.innerText = value;
        newTd.appendChild(div);
            }
      

  15.   

    你创建了td了没有。
    在td里可以innerHTML的。
      

  16.   

    你直接把table的HTML内容赋值给div的innerHTML即可啊
      

  17.   

    支持下,我的,  http://www.12jiayou.com
      

  18.   

    这是完全可以的,你把我下面的代码复制过去,直接运行就好了。
    当然,图片得你自己加。
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html><meta http-equiv="Content-Type" content="text/html; charset="gb2312">
    <input type="button" value="点击我就看到效果了哦``" onclick="DIVAlert()" />
    <script type="text/javascript" language="javascript">
          function DIVAlert(){
          var msgw,msgh,bordercolor;
          msgw=452;
          msgh=139;
          titleheight=25;
          
          var sWidth,sHeight;
          sWidth=document.body.offsetWidth;
          sHeight=screen.height;
          var bgObj=document.createElement("div");
          bgObj.setAttribute('id','bgDiv');
          bgObj.style.position="absolute";
          bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
          bgObj.style.top="0";
          bgObj.style.left="0";
          bgObj.style.background="#777";
          bgObj.style.width=sWidth + "px";
          bgObj.style.height=sHeight + "px";
          bgObj.style.zIndex = "10000";
          document.body.appendChild(bgObj);
          var msgObj=document.createElement("div")
          msgObj.setAttribute("id","msgDiv");
          msgObj.style.background="#d4cfc9";
          msgObj.style.borderLeft="1px solid " + "#fff";
          msgObj.style.borderRight="2px solid " + "#666";
          msgObj.style.borderBottom="1px solid " + "#999";
          msgObj.style.position = "absolute";
                   msgObj.style.left = "50%";
                   msgObj.style.top = "50%";
                   msgObj.style.font="11px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
                   msgObj.style.marginLeft = "-225px" ;
                   msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
                   msgObj.style.width = msgw + "px";
                   msgObj.style.height =msgh + "px";
                   msgObj.style.lineHeight ="20px";
                   msgObj.style.zIndex = "10001";         var title=document.createElement("div");
            title.setAttribute("id","msgTitle");
            title.setAttribute("align","right");         title.style.height="18px";
            title.style.font="11px Verdana, Geneva, Arial, Helvetica, sans-serif";
            title.style.color="white";
            
            title.innerHTML="<img src='file:///C:/title.jpg'/>";
            
            var aelem = document.createElement("div");
            aelem.setAttribute("id","aelem");
            aelem.style.width="16px";
            aelem.style.height="16px";
            aelem.style.margin="-14px 3px auto auto";
            aelem.innerHTML="<img src='file:///C:/close.jpg'/>";
            aelem.onclick=function(){
                document.body.removeChild(bgObj);
                document.getElementById("msgDiv").removeChild(title);
                document.body.removeChild(msgObj);
            }
            document.body.appendChild(msgObj);
            document.getElementById("msgDiv").appendChild(title);
            document.getElementById("msgDiv").appendChild(aelem);
            var txt=document.createElement("div");
            txt.style.padding="10px";
            txt.style.width=430;
            txt.style.height=100;
            txt.setAttribute("id","msgTxt");         txt.style.background="#d4cfc9";
            document.getElementById("msgDiv").appendChild(txt);
            var tabl = document.createElement("table");
            tabl.setAttribute("id","tabl");
            txt.innerHTML="<table><tr><td>"+"Nextance Enterprise Software for Contracts and Commitments"+"<td></tr>"
                           +"<tr><td>Version "+ "versions" +"</td></tr>"
                           +"<tr><td>"+"Copyright 2000-2010 Nextance Inc. All Rights Reserved." +"</td></tr>"
                           +"<tr><td>"+"Nextance Inc"+"</td></tr></table>";
            }
         </script>
    </html>
      

  19.   

    感谢大家的帮助,通过实践,如果想在div标签里面通过innerHtml or outerHtml添加table表单,在我尝试多次都是失败的。除非添加进的html内容的最外层添加tbody标签,
      

  20.   

    可以的 我ie8 测试 lz可能是ff不支持innerHTML
      

  21.   


    var innerStr="";
    var innerContent="";
    innerContent=innerContent+"<tr><td align='left'>11111111</td></tr>";
    innerStr="<table width='95%'  border='solid'   align='center' cellpadding='0' cellspacing='0' bordercolorlight='#A5A5A5' bordercolordark='#D5D5D5'>"+innerContent+"</table>";divTest.innerHTML=innerStr;
    不知道楼主说的不行是怎样的,在我的程序里面,就是这样使用的,都能正常显示!!
    这让我想到一个问题,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    这个标签头,你直接去掉下!!
    有时候,在网页设计当中,添加和去年这个,结果会不一样!!在我页面当中,没有这个<!DOCTYPE>,楼主试下
      

  22.   

    innerHTML似乎所有浏览器都支持吧  lz把你的代码贴出来看下不行吗  我们都行为什么你的不行啊  ( ⊙ o ⊙ )
      

  23.   

    用span不行吗?为啥非得用div?