动态创建的图像中的onclick函数不起作用

时间:2016-11-04 10:42:48

标签: javascript

您好我刚刚动态创建了一个表,它的工作正常,但我需要点击imageId。所以我做的是:

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\' >';
} 

2 个答案:

答案 0 :(得分:0)

如果您尝试使用此代码:

var myElement = document.getElementById("imageId");
if (myElement) {
      document.getElementById("imageId").addEventListener("click", function () {

   alert("hello");

}); 
} else {
    alert("Element does not exist yet");
}

您将看到一条警告,告诉您该元素尚未存在。您需要确保在尝试添加处理程序时元素存在。您可以为此目的使用加载处理程序。

答案 1 :(得分:0)

尝试这些我希望它能适用于它对我有用的动态图像。 代替'img_id'给这些图像的id点击将工作正常。

$('#img_id').on('click', function () {
             alert("Image Success");
    });