我想添加一個標頭到一個JavaScript函數的HTML表。整個腳本比較大,所以我剛剛在HTML表格中創建了html代碼片段,然後添加了一個標題添加到該表格的函數。 (當一個按鈕被點擊時,這個函數將被調用)。 但是我得到以下錯誤:703javascript將表頭添加到html表
Locations.html:703 Uncaught TypeError: Cannot read property 'createTHead' of null
線對應與 「VAR HDR = tbs.createTHead();」代碼行。看起來好像該函數無法找到「myTable」表,並且它通過id行(我認爲)運行getelement時返回null。但我不確定爲什麼?爲什麼它無法找到這個表格元素?
<div class="statsContainer">
<div class="mainCont" id="mainCont"></div>
<div class="statsLoc" id="statsLoc">
<table class="myTable" id="myTable"></table>
</div>
<div class="listLoc" id="listLoc"></div>
</div>
function locClick(strLN) {
RegionName.innerText = strLN;
var qry = "select Latitude, Longitude, Description from locations where Location_ID in (select Location_ID from locations where Location_Name = '" + strLN + "')";
clearDiv("mainCont");
clearDiv("statsLoc");
clearDiv("listLoc");
phpRequest(qry, "getDataFromPhp", processPHP, 1);
addTableHead("myTable", "help");
}
function addTableHead(tbName, txtHead) {
var tbs = document.getElementById("myTable");
var hdr = tbs.createTHead();
var rw = hdr.insertRow(0);
var cell = rw.insertCell(0);
cell.innerHTML = txtHead;}
對不起,我忘了,包括在功能右花括號 - 但它的存在是我的代碼。 – Jon
只需編輯您的問題即可解決該問題。並且,還要取出所有額外的換行符。 –
這個錯誤很明顯。 '不能讀取屬性THead null'。所以,我們查看你的代碼,在哪裏訪問'THead'並查看你正在調用它的對象,因爲那是'null'對象。那個對象是'tbs'。如果我們再看看'tbs'是從哪裏來的,我們會在它上面的線上找到它。這條線看起來不錯(因爲你的桌子上有'myTable'的'id')。這導致我們懷疑你的代碼何時執行。如果addTableHead函數在HTML完成解析之前運行,它會解釋這個錯誤。 –