我正在向表格动态添加表格行(tr
),这些tr
代码包含一些链接。
我有一个jQuery脚本,当点击tr
中的链接时调用该脚本。
该脚本不适用于这些链接。它在我重新加载页面时起作用,并且从服务器端填充tr
。
我该如何克服这个问题?
$(".comment-like").on('click',function() {
var spanEle = $(this).closest('li').find('.comment-like-count');
if (spanEle.length) {
var newCount = parseInt(spanEle.text(),10);
spanEle.text(newCount + 1);
}
});
答案 0 :(得分:3)
您应该delegate the listener to a parent喜欢表格而不是链接本身 因为它们来来去去 试试这个:
$('your table selector').on('click','.comment-like', function () {
var spanEle = $(this).closest('li').find('.comment-like-count');
if (spanEle.length) {
var newCount = parseInt(spanEle.text(), 10);
spanEle.text(newCount + 1);
}
});
答案 1 :(得分:0)
我认为你想改用delegate。
答案 2 :(得分:0)
选择页面加载时存在的父选择器。如果您没有,请使用$('body')
$('.elem-existing-on-pageload').on('click', '.comment-like', function() {
...
});
答案 3 :(得分:-2)
添加后,您必须为这些新元素附加事件处理程序。