• ベストアンサー

tableの生成

お世話になります。 以下のソースはテーブルを生成するサンプルソースなんですけど、tdの中に配列の要素をきちんと表示させることが出来ません。 どうしたらちゃんと表示させることが出来るかご教授いただけないでしょうか? *今は配列の要素がtdの中に全部入ってしまっている状態です。 <html> <head> <title>サンプルコード</title> <script> mylist = new Array( // データ定義 "Aさんのホームページ", "Bさんのホームページ", "Cさんのホームページ", "Dさんのホームページ", "Eさんのホームページ", "Fさんのホームページ" ); function start() { var mybody=document.getElementsByTagName("body").item(0); //全ての body 要素リストをこのようにして取得// mytable = document.createElement("TABLE"); mytablebody = document.createElement("TBODY"); for(j=0;j<3;j++) { mycurrent_row=document.createElement("TR"); for(i=0;i<2;i++) { mycurrent_cell=document.createElement("TD"); currenttext=document.createTextNode(mylist); mycurrent_cell.appendChild(currenttext); mycurrent_row.appendChild(mycurrent_cell); } mytablebody.appendChild(mycurrent_row); } mytable.appendChild(mytablebody); mybody.appendChild(mytable); mytable.setAttribute("border","2"); } </script> </head> <body> <script type="text/javascript"> start() </script> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
noname#22259
noname#22259
回答No.1

function start() { var mybody=document.getElementsByTagName("body").item(0); //全ての body 要素リストをこのようにして取得// mytable = document.createElement("TABLE"); mytablebody = document.createElement("TBODY"); var k = 0; for (i=0; i<3; i++){//row mycurrent_row=document.createElement("TR"); mytablebody.appendChild(mycurrent_row); for (j=0; j<2; j++) {//col mycurrent_cell=document.createElement("TD"); mycurrent_cell.innerText = mylist[k++]; mycurrent_row.appendChild(mycurrent_cell); } } mytable.appendChild(mytablebody); mybody.appendChild(mytable); mytable.setAttribute("border","2"); }

armstrong-us
質問者

お礼

ありがとうございます。 なるほど、こういう風にやれば出来るんですね。 勉強になりました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

<body> <script type="text/javascript"><!-- document.writeln("<table border='2'>"); document.writeln("<tbody>"); for(var j=0;j<3;j++){ document.writeln("<tr>"); for(var i=0;i<2;i++){ document.write("<td>"); document.write(mylist[j*2+i]); document.write("</td>"); } document.writeln("</tr>"); } document.writeln("</tbody>"); document.writeln("</table>"); //--> </script> </body>

armstrong-us
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。