我正在尝试在某些动态加载的内容上添加点击事件,我有这个:
$("#dailyCount table thead th").each(function(){
var yd = "#" + $(this).attr("id");
$(document).on("click", yd, function(){
alert("a");
});
});
元素ID从1到当月的最后一天。有什么想法吗?
答案 0 :(得分:1)
不是为每个元素添加委托处理程序,而是可以将一个委托用于从选择器返回的所有元素。
所以试试:
$(document).on("click", "#dailyCount table thead th", function(){
alert("a");
});
答案 1 :(得分:0)
尝试使用动态检索的id委托事件与尝试将事件附加到动态元素本身相同。
因此,要么将ur代码放在document.ready函数中,要么硬编码动态元素的id。
答案 2 :(得分:0)
试试这个:
$(document).on("click", "#dailyCount table thead th", function(){
alert("a");
});
虽然,如果我是你,我会选择使用DOM来远离DOM。只需在表格中的TH元素中添加一些类,然后选择“
。”<div id="dailyCount">
<table>
<thead>
<th class="dailyCount-table-headCell">Whatever</th>
</thead>
</table>
</div>
$(document).on("click", ".dailyCount-table-headCell", function () {
console.log("a");
});
它允许您在不更改JS的情况下更改标记。好像你需要做网格而不是表格。
答案 3 :(得分:0)
假设您将在代码中进一步使用id,请尝试:
$("#dailyCount table thead th").on("click", function(){
var id = $(this).attr('id'); // id will now have the id of clicked element.
alert("a");
});
希望这有帮助。