我正在尝试使用$(this),以便能够使用箭头中的jQuery对象,但是它不起作用
$('.btnReserve').click(function(){
var element_div = $(this).closest('div');
console.log(element_div.attr('id');
});
效果很好
但是...
$('.btnReserve').click(() => {
var element_div = $(this).closest('div');
console.log(element_div.attr('id');
});
$(this)
不起作用
为了获得理想的结果,我使用了下面的方法
$('.btnReserve').click((event) => {
var element_div = $(event.target).closest('div');
console.log(element_div.attr('id');
});
答案 0 :(得分:4)
带有箭头功能的this
指向直接在您创建的函数范围之外的范围。
使用常规函数,它是指全局范围或绑定范围(在您的情况下为jquery对象)
做() => {}
与做(function () {}).bind(this)
尝试使用传递给函数的事件
$('.btnReserve').click((event) => {
const element_id = event.target.id;
console.log(element_id );
});