jqueryを使用してテーブルを作成しています。ここで、タイルのIDは入れ子になったFORループを使用して生成されます。私は、それらのIDを使用して、タイルにイベントリスナーを追加しようとしているので、それらをクリックするときに関数を実行できます。ただし、変数boatStatusClientに格納されているIDは認識されず、エラーがスローされます。誰もが問題を見ることができますか?テーブルを動的に生成する問題
for (y_client = 1; y_client < 11; y_client++) {
battlefield_client += "<tr>";
for (x_client = 1; x_client < 11; x_client++) {
battlefield_client += "<td onclick = '' class = 'tile' style='border: 3px solid black;' id=" + "cell_client_" + x_client + "_" + y_client + "><pre> </pre></td>";
boatStatusClient = document.getElementById('cell_client_' + x_client + "_" + y_client);
console.log(boatStatusClient);
boatStatusClient.addEventListener("click", function(){boatGrid.placeBoat_client()});
}
battlefield_client += "</tr>";
}
$(document).ready(function() {
$("#tableGrid_client").html(battlefield_client); //loads table
エラーが表示されるようにコード全体を追加します – Mahi
エラーは何ですか?私はあなたのコードで複数の問題を見ることができるからです。 'concatの前に変数を宣言する ' ' null要素にlistnerを追加できません。' –
'document.getElementById( 'cell_client_' + x_client +" _ "+ y_client);'出力を参照する必要があります。 nullの場合は、イベントリスナーを追加できません。そしてなぜ半分の純粋なJS、半分のjQuery? –