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
相關問題