0
我创建了一个表,它似乎工作正常,但我在为此表分配一个id时出现问题,请计算它有多少行,并为每行分配一个id。调试器说:分配Id并遍历Javascript中的行
TypeError: document.getElementById(...) is null
我找不出我做错了什么。有人可以帮忙吗?我的评论我的问题在下面的代码,以及:
function populateTable(list){
var tableContent = "<table>";
for (var i = 0; i < list.length; ++i) {
var record = list[i];
tableContent += "<tr><td>" + record.Title + "</td></tr>\n";
}
tableContent += "</table>";
tableContent.id="orders";
var rows = document.getElementById("orders").rows.length;//why is this null?
document.getElementById("test").innerHTML = rows;
for (var i=0; i< rows; ++i){
//how do I assign an id for the element here?
}
}
为什么你有新行的表?
您也错过了该函数的结尾括号。 – jessica
谢谢。这是一个复制粘贴错误。我编辑它。我也想你可以不用/ n – user3735871
回答
你可以这样做:
HTML:
的JavaScript:
来源
2015-10-06 22:47:02
谢谢!你能否解释一下关于什么var persons = [{Title:“John”},{Title:“Marry”}];呢? – user3735871
从你的代码中:你有一个元素列表('list'),而'i'th元素看起来像'var record = list [i];'在这个列表中。但是你可以调用'record.Title'这意味着你的列表中的每个元素都是一个名为'Title'的属性。有关详细信息,请参阅http://www.w3schools.com/js/js_objects.asp。这就是为什么我创建了一个包含一些具有“标题”属性的对象的对象数组(“人”)。当然,我可以创建'var books = [{Title:“val1”,作者:“X”},{标题:“val2”,作者:“Y”},{标题:“val3”,作者:“Z “}]',但它只是一个有2个元素的最小例子。 –
编辑
看来你不知道如何正确地创建从JavaScript中的DOM:
http://www.w3schools.com/jsref/met_document_createelement.asp
老答案
此线路:
通过id从HTML文档获取元素。看起来您还没有将
tableContent
添加到文档中。来源
2015-10-06 22:28:22 lilezek
你能详细说明一下吗?我添加了\t document.getElementById(“test”)。innerHTML = tableContent;在getElementById(“orders”)之前显示它,但它仍然不起作用 – user3735871
@ user3735871你做了它之后,你做了* rows * – lilezek
no我的意思是我在一个新行中添加了'document.getElementById(“测试“)。innerHTML = tableContent;'原始代码来测试,但它没有工作 – user3735871
这里是我的建议(阅读代码中的注释):
希望这有助于
这已经回答了,但这里是我的版本,而所有评论:
来源
2015-10-06 22:53:34 victmo
相关问题