以下是问题代码:
$(".add").click(function () {
var dl = $("<dl></dl>");
var dt = $(`<dt><img src=${arr[mathNum].pic}></dt>`);
var dd1 = $(`<dd>${arr[mathNum].title}</dd>`);
var dd2 = $("<dd><a class='del' href='javascript:void(0);'>删除</a></dd>");
dl.append(dt, dd1, dd2);
$(".clear").before(dl);
});
$('.del').click(function () {
$("this").parent().parent().remove();
});
1、通过事件委托来处理
$(".add").click(function () {
var dl = $("<dl></dl>");
var dt = $(`<dt><img src=${arr[mathNum].pic}></dt>`);
var dd1 = $(`<dd>${arr[mathNum].title}</dd>`);
var dd2 = $("<dd><a class='del' href='javascript:void(0);'>删除</a></dd>");
dl.append(dt, dd1, dd2);
$(".clear").before(dl);
});
//这里使用on,因为on支持给动态生成的元素绑定事件
//需要注意的是,on前面的元素必须是静态的
$(document).on("click",".del",function (params) {
$(this).parent().parent().remove();
})
2、给动态元素添加事件监听
$(".add").click(function () {
var dl = $("<dl></dl>");
var dt = $(`<dt><img src=${arr[mathNum].pic}></dt>`);
var dd1 = $(`<dd>${arr[mathNum].title}</dd>`);
var dd2 = $("<dd><a class='del' href='javascript:void(0);'>删除</a></dd>");
dl.append(dt, dd1, dd2);
$(".clear").before(dl);
clickListener();
});
//绑定事件,unbind()指如果没有绑定则绑定,避免重复绑定
function clickListener() {
$(".del").unbind().click(function () {
$(this).parent().parent().remove();
});
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务