2

我需要动态地创建一个并排的表。所以我创建了一个表(外部)并尝试在按钮单击时动态生成列。在每一列中,我将创建我需要的实际表(内部),以便最终它们并排出现。

但我坚持为更大的表格创建列。看一下代码就清楚了。感谢 JS 中的任何解决方案。提前致谢

<html>
    <head>
        <script type="text/javascript">    
            function add() {
                var table = document.getElementById('foo');
                var rowCount = table.rows.length;             
                var row =document.getElementById('rowl');         
                var max=table.rows[0].cells.length;
                var cnum;

                if(max==0){
                    cnum=0;
                }else{
                    cnum=max+1;
                }

                var cell1 = row.insertCell(cnum);             

                cell1.innerHTML = "<table id='tabl'"+
                    cnum+
                    "' border=2 bordercolor='RED'><tr><th>Material  "+
                    (cnum+1)+
                    "</th></tr><tr><td>bdfgher</td></tr><tr><td>fdgerh</td></tr></table>"; 
                }
        </script>
    </head>
    <body>
        <button type="button" onclick="add()">Add cell</button>
        <table id="foo" border=1 bordercolor="BLUE">
            <tr id="rowl"></tr>
        </table>
    </body>
</html>
4

2 回答 2

0

它可能会帮助你一点:)

<html>
<head>
<script>
var c=-1;
function displayResult()
{
var firstRow=document.getElementById("tr_1");
//var x=firstRow.insertCell(-1);
//x.innerHTML="New cell"
var cell1 = firstRow.insertCell(c++);             

                cell1.innerHTML = "<table id='tabl'"+
                    cnum+
                    "' border=2 bordercolor='RED'><tr><th>Material  "+
                    (cnum+1)+
                    "</th></tr><tr><td>bdfgher</td></tr><tr><td>fdgerh</td></tr></table>";
}
</script>
</head>
<body>

<table id="myTable" border="1">
  <tr id='tr_1'></tr>
</table>
<br>
<button type="button" onclick="displayResult()">Insert cell</button>

</body>
</html>
于 2012-12-05T12:50:56.423 回答
0
var cell = document.createElement("td");
document.getElementById("rowl").appendChild(cell);

当然,您应该在单元格元素中添加其他元素(内表)。

于 2012-12-05T12:35:48.237 回答