こんにちは、動的にテーブルを作成しましたが、うまくいきましたが、imageIdをクリックする必要があります。だから、私がやったことです:動的に作成された画像のonclick関数が機能していません
document.getElementById("imageId").addEventListener("click", function() {
alert("hello");
});
それが動作していない、私はJavaScriptを使用してのみ、任意のjqueryのを必要としません。
動的にコードを作成するテーブルを以下に示します。うまくいきます。
var body = document.body,
tbl = document.createElement('table'),
tableId = document.createAttribute('id');
tbl.style.width = '100%';
for (var i = 0; i < 3; i++) {
var tr = tbl.insertRow();
tr.style.height= '40px';
var timetd = tr.insertCell();
var tdcompany = tr.insertCell();
var chatsymbol = tr.insertCell();
var amounttd = tr.insertCell();
tdcompany.innerHTML = "abc";
timetd.innerHTML = "ss";
chatsymbol.innerHTML = '<img src=\'images/iproseIcon2.png\' width= "35%" margin-top="10px"; >';
amounttd.innerHTML = total + '<img id="imageId" src=\'images/iconarrowright.png\' >';
}
私の推測では、イメージがDOMに追加される前に 'addEventListener'が呼び出されていると思います。あなたがコードスニペットの実行順序を知る必要があることを確認する。 – BetaRide
しようとする別のパターンは、イベントリスナーをimg自体に直接追加するのではなく、親要素(既にページ上にある)に追加することです。 – Sgnl
すでに同様の質問があり、問題は解決しました。 [質問](http://stackoverflow.com/questions/14258787/add-event-listener-on-elements-created-dynamically)を参照してください。 –