2017-08-25 172 views
-4

我在我的網站上工作,我想用行數等於數組game_names長度的行,使用Javascript。整個代碼是:代碼不會將行添加到表格中(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爲「遊戲」。代碼:

<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

是的,我改變了迭代順便說一句,對不起, –

0

好的我解決了這個問題。我把劇本放在桌子後面,因爲它在頭標上!謝謝你的答案!

+2

爲什麼你接受一個答案,**沒有說那個**呢? – Quentin