質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

491閲覧

for文で16マスのtable

jimsy

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/11/01 08:28

js

1<table id = t1> 2 <tr> 3 <td>1</td> 4 <td>2</td> 5 <td>3</td> 6 <td>4</td> 7 </tr> 8 <tr> 9 <td>5</td> 10 <td>6</td> 11 <td>7</td> 12 <td>8</td> 13 </tr> 14 <tr> 15 <td>9</td> 16 <td>10</td> 17 <td>11</td> 18 <td>12</td> 19 </tr> 20 <tr> 21 <td>13</td> 22 <td>14</td> 23 <td>15</td> 24 <td>16</td> 25 </tr> 26 </table> 27 28 29

###前提・実現したいこと

この1から16までの4マス×4マスのtableをfor文で作りたいのですが、どのようにするといいのでしょうか。
forの中にforを入れてみたのですが、うまくいきません。
ご教授お願いいたします。

###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

js

1for (var i = 1; i <=4; i++) { 2 var a = $('<tr>'); 3 for (var j = 1; j <=4; j++) { 4 var b = (j); 5 a.append($('<td>').text(b)); 6 } 7 $('#t1').append(a); 8 }

###試したこと
td( j )を16にし、4マスごとに改行するか、trを作るのだと思うのですが、、

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

javascript

1$(function(){ 2 for (var i = 1; i <=4; i++) { 3 $('<tr>').appendTo($('#t1 tbody')); 4 for (var j = 1; j <=4; j++) { 5 $('<td>').text(j+(i-1)*4).appendTo($('#t1 tr:last')); 6 } 7 } 8});

HTML

1<table id="t1"><tbody></tbody></table>

投稿2017/11/01 08:36

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimsy

2017/11/01 09:07

回答ありがとうございます!
guest

0

ベストアンサー

マス目の連番を作るとき、【何行目】×【列数】+【何列目】という式をよく使います。

javascript

1for (var i = 0; i < 4; i++) { 2 var a = $('<tr>'); 3 for (var j = 0; j < 4; j++) { 4 var b = i * 4 + j + 1; // 1から始まる連番なので、最後に1を足す 5 a.append($('<td>').text(b)); 6 } 7 $('#t1').append(a); 8}

コピペしてみたらtableタグに全角スペースが紛れ込んだりしてて動作してないですね。HTML的に正しく書くならこうです。

HTML

1<table id="t1"> 2</table>

投稿2017/11/01 08:35

編集2017/11/01 08:37
masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimsy

2017/11/01 08:58

【何行目】×【列数】+【何列目】この式を知りませんでした。勉強になります。 きれいに形になりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問