0

我想按照下面代码中的方式显示表格,但不显示在屏幕上,代码仅使用 html 和 Javascript

<body id="page">
 <center>
    <table id="tables" border="1px" cellspacing="50px" style="margin-top:70px" >
    <script type="text/javascript">
     var row=2;

        for(var j=1;j<=2;j++){          
            $('#tables').append("<tr id='row"+j+"' style='margin-bottom:50px'>");
            for(var k=1;k<=5;k++){
                $("#row"+j).append("<td id='table"+k+"' class='button'  width='150' height='150' onclick='printBill("+k+")' background='images/green.png' align='center'>"+
                                            "<font size='+8'><b>"+k+"</b></font>"+
                                            "<br><font id='clock"+k+"' size='+1'> 0:0:0 </font>"+
                                        "</td>");
                }
            $('#tables').append("<tr id='row"+j+"' style='margin-bottom:50px'>");
        }

    </script>

    </table>
</center>
</body>

任何人都可以帮助找出这段代码有什么问题吗?

4

1 回答 1

1

您可以使用两种典型的方式在页面加载时修改文档:

虽然 html 仍在加载:

<table id="tables">
  <tbody>
    <script type="text/javascript">
      document.write('<tr>......</tr>');
    </script>
  </tbody>
</table>

加载 html 页面后(更具体地说,当 DOM 准备好时):

<table id="tables">
  <tbody>
  </tbody>
</table>
<script type="text/javascript">
  $(function(){ // see http://api.jquery.com/jQuery/#jQuery3
    // the full DOM is ready now, you can start modifying it.
    $('#tables > tbody').append('<tr>......</tr>');
  });
</script>

正如你所看到的,我在 s和它的 stbody之间插入了一个标签:浏览器通常会创建这个标签,即使你的源代码不包含它。通过始终添加(或如果您愿意),您可以避免一些潜在的麻烦。tabletrtbodytbodythead/tfoot

参见例如我可以依赖 `tbody` 标签的隐式创建吗?或搜索implicit tbody

我清理了你的代码:http: //jsfiddle.net/6332Q/1/

于 2012-06-14T12:34:57.943 回答