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

ページの読み込みに関するドキュメントを変更するには、次の 2 つの一般的な方法を使用できます。

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: のtbody間にタグを挿入しました。ソースに含まれていなくても、ブラウザーは通常このタグを作成します。常に(または必要に応じて) を追加することで、潜在的な問題を回避できます。tabletrtbodytbodythead/tfoot

例を参照してください`tbody` タグの暗黙的な作成に頼ることはできますか? または を検索しimplicit tbodyます。

私はあなたのコードを少し整理しました: http://jsfiddle.net/6332Q/1/

于 2012-06-14T12:34:57.943 に答える