テーブルに重複する要素がある場合、それらを非表示にしたいと思っているプロジェクトにはとても不満です。重複は問題なく見つけました。重複を隠そうとすると、問題が始まります。私はフレームワークやライブラリなしでバニラJavaScriptを使用しています。このエラーは本当に解読するのが難しいです。キャッチされていないエラーのためにテーブル内の要素が読み取られない
Uncaught Type Error: Cannot read property 'e' of undefined
e
テーブル
における最初の重複要素である私は私のHTML内の任意のハードコーディングされたデータを持っていない - それはすべてのJavaScriptです。私はこれまで何もディスプレイをしていませんでしたので、私はいくつかの助けを手に入れたいと思っていました。私のコードは以下の通りです。
事前にヘルプを評価してください。
var data = [
['e', 0, 1, 2, 3, 4],
['a', 54312, 235, 5, 15, 4],
['a', 6, 7, 8, 9, 232],
['a', 54, 11235, 345, 5, 6],
['b', 0, 1, 2, 3, 4],
['b', 54312, 235, 5, 15, 4],
['c', 62, 15, 754, 93, 323],
['d', 27, 11235, 425, 18, 78],
['d', 0, 1, 2, 3, 4],
['d', 54312, 235, 5, 15, 4],
['e', 6, 7, 8, 9, 232],
['e', 54, 11235, 345, 5, 6],
['e', 0, 1, 2, 3, 4],
['e', 54312, 235, 5, 15, 4],
['e', 62, 15, 754, 93, 323],
['e', 27, 11235, 425, 18, 78]
];
//Create a HTML Table element.
var table = document.createElement("TABLE");
var elems = document.getElementsByClassName("tableRow");
//Get the count of columns.
var columnCount = data[0].length;
//Add the data rows.
for (var i = 0; i < data.length; i++) {
var row = table.insertRow(-1);
for (var j = 0; j < columnCount; j++) {
//Searching for duplicates
var num = data[i][0];
for (var otherRow = i + 1; otherRow < data.length; otherRow++) {
var dup = data[otherRow][0];
console.log("What is the dup" + dup);
if (num === dup) {
console.log("duplicate");
elems.data[dup].style.display = "none";
}
}
var cell = row.insertCell(-1);
cell.innerHTML = data[i][j];
cell.innerHtml = myZero;
}
}
var dvTable = document.getElementById("dvTable");
dvTable.innerHTML = "";
dvTable.appendChild(table);
JavaScriptを使用してこれらの要素を非表示にする方法はありますか? – user2280852
私はこれらのタグがあるHTML文書を持っていますが、データはありません。テーブル内のすべてのデータは、テーブルに取り込まれた配列から来ています。 – user2280852
変数 'data'と' elems'は、あなたのコードでは決して関連していません。 'elems'の値は' data'という名前のプロパティを持たないDOM要素の 'NodeList'です。そのため、' e'( 'dup'の値)を使用しようとするとエラーが発生します。 –