2017-08-25 125 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