2017-08-25 11 views
-4

私は自分のWebサイトで作業しています.Javascriptを使用して、game_names配列の長さに等しい数の行を持つテーブルを作成したいとします。コード全体は次のとおりです。コードが行をテーブルに追加しない(HTML/JavaScript)

var game_names = [ 
    "first_game", 
    "second_game", 
    "third_game", 
    "fourth_game", 
    "fifth_game" 
]; 

var parent = document.getElementById("games"); 

for (i=0;i<=10;i++){ 
    var child = document.createElement("tr"); 
    var node = document.createTextNode("hi!"); 
    child.appendChild(node); 
    parent.appendChild(child); 
} 

HTMLコードでは、空のテーブル(セルがない)とidが "games"です。コード:

<table id="games" border="10px" align="center" width="100px">   
</table> 

何らかの理由で、コードはテーブルに行を追加しません。私は、コードがロードされたときにコードが実行されていることをテストしました(コードの先頭に警告( "hi!")を入れて働かせました)。私は何が間違っているのか分かりません...

+2

質問のタイトルを編集してください。 *何かが働きたくない*は説明的でもなく、今後の読者にとっても役に立たない。 – BenM

+0

'tr'はテキストを表示できません。テキストを追加するには' td'要素が必要です。そして 'td'を' tr'に追加してください。 – Teemu

+0

'​​'要素が必要ですが、マークアップを修正する現代的なブラウザではコードが正常に動作します:https://jsfiddle.net/ewp85sz2/ – BenM

答えて

0

コードは動作するようですが、変なhtmlを作成します。行(tr要素)にはセル(td要素)を含める必要があります。そして、あなたのgame_namesの配列を反復しないで、ちょうど0から10まで繰り返します。下の私のコード例を見てください。

var game_names = [ 
    "first_game", 
    "second_game", 
    "third_game", 
    "fourth_game", 
    "fifth_game" 
]; 

var parent = document.getElementById("games"); 


for (i=0;i<=game_names.length;i++){ 
    var childRow = document.createElement("tr"); 
    var childCell = document.createElement("td"); 
    var node = document.createTextNode("hi!"); 
    childRow.appendChild(childCell); 
    childCell.appendChild(node); 
    parent.appendChild(childRow); 
} 
+0

に入れました。私は反復するbtwを変更しました。申し訳ありません。 –

0

私は問題を解決しました。私は頭のタグにあったので、テーブルの後にスクリプトを置く!答えをありがとう!

+2

**あなたは** **そのことを言っていない答えをなぜ受け入れましたか? – Quentin

関連する問題