JavaScript関数を使用してhtmlテーブルにヘッダーを追加しようとしています。スクリプト全体がかなり大きいので、htmlテーブルが作成されたhtmlスニペットと、そのテーブルにヘッダを追加する関数が含まれています。 (ボタンをクリックすると、この機能が呼び出されます)。 "VaRのHDR = tbs.createTHead();"javascript htmlテーブルへのテーブルヘッダーの追加
Locations.html:703 Uncaught TypeError: Cannot read property 'createTHead' of null
ライン703は、に対応: は、しかし、私は次のエラーを取得しますコード行関数が "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 of null'。だから、 'THead'にアクセスしている場所のコードを見て、それが' null'のオブジェクトであるため、呼び出しているオブジェクトを見てください。そのオブジェクトは 'tbs'です。 'tbs'がどこから来たのかを見ると、上の行でそれが見つかります。その行はうまく見えます(テーブルに 'myTable'の' id'があるので)。これは、あなたのコードがいつ実行されているのか疑問に思っています。 HTMLの解析が完了する前に 'addTableHead'関数が実行されていると、このエラーが説明されます。 –