我看着SO上的其他解決方案來解決這個問題,他們都沒有幫助我的案例。爲了給你一些背景知識,昨天我試圖選擇一個班級的所有DIV並存儲他們的ID。 See this現在我已經創建了一些ID,可以創建一些新元素併合並ID並能夠點擊這些新元素。我去JSFiddle向你展示一個演示,但瘋狂的部分在那裏,我的代碼工作,但在我的應用程序(Chrome擴展),它沒有。更瘋狂的是,我已經在其他地方實現了jQuery點擊事件而沒有任何問題,所以我很困惑它爲什麼在這個特定情況下不起作用。這是JSFiddle的作品,但在我的應用程序它不會做任何事情點擊。謝謝你的幫助!我很抱歉發佈這麼多(愚蠢)的問題。jQuery點擊不起作用於動態創建的元素
HTML:
<div class="HA" id="k2348382383838382133"></div>
<div class="HA" id="k2344444444444444444"></div>
<div class="HA" id="k234543544545454454"></div>
<div class="HA" id="k2346787878778787878"></div>
JS:
var HAContainer = document.querySelectorAll('.HA');
var HALength = document.querySelectorAll('.HA').length;
var id = [];
var j = 0;
$('.HA').each(function(){
id[j++] = $(this).attr('id');
});
for (var i=0; i<HALength; i++) {
var HABtn, HABtnImg, HAImgContainer;
HABtnImg = document.createElement("img");
HABtnImg.src = ("http://www.freesmileys.org/smileys/smiley-laughing002.gif");
HABtnImg.className = "ha-icon";
HAImgContainer = document.createElement("div");
HAImgContainer.setAttribute("id", 'HA-'+id[i] + '-container');
HAImgContainer.appendChild(HABtnImg);
HABtn = document.createElement("div");
HABtn.className = 'ha-button';
HABtn.setAttribute("id", 'HA-container');
HABtn.appendChild(HAImgContainer);
HAContainer[i].appendChild(HABtn);
HAClick(id[i]);
}
function HAClick(id) {
$('#HA-'+id+'-container').click(function() {
alert("clicked on ID " + id);
});
}
'HABtn.setAttribute( 「ID」, 'HA-容器'); HABtn.appendChild(HAImgContainer);'你在那裏複製ID的 – Ted