Javascript $(this).parent().remove()不工作
尽管这是一个重复的“问题”,但即使在遵循了上面给出的答案之后,我仍然会遇到同样的问题。请帮忙Javascript $(this).parent().remove()不工作,javascript,jquery,html,Javascript,Jquery,Html,尽管这是一个重复的“问题”,但即使在遵循了上面给出的答案之后,我仍然会遇到同样的问题。请帮忙 userinfo.topics.forEach(ele=>{ $(“#主题订阅”).append(`li class=“列表组项目col-4”>${ele}`); }); $(文档).on('单击','.removietem',()=>{ console.log('clicked'); $(this.parent().remove(); }); 请在将此标记为重复之前回答为什么会发生。如何解决这个问题
userinfo.topics.forEach(ele=>{
$(“#主题订阅”).append(`li class=“列表组项目col-4”>${ele}`);
});
$(文档).on('单击','.removietem',()=>{
console.log('clicked');
$(this.parent().remove();
});
请在将此标记为重复之前回答为什么会发生。如何解决这个问题?(我将在问题得到回答后立即删除该问题……)这是因为您使用的箭头函数没有明确的
此
改为:
$(document).on('click', '.removeitem', function(){
console.log('clicked') ;
$(this).parent().remove() ;
});
使用arrow函数作为事件回调。箭头函数不会重新定义
this
,因此在箭头函数实现中使用的this
与调用$(document).on(…)
的位置相同。使用实函数文字而不是箭头函数。请参阅:您的问题是,您没有按照另一个问题的答案进行操作,因为您使用的是箭头函数()=>
,该函数在的范围内表现不同。如果您根据您引用的答案将其切换为常规匿名功能,它应该会起作用。最好对原始问题进行评论,包括您的问题和答案,这样其他人可以进一步阅读,并在遇到同样的挫折时找到解决方案。
$(document).on('click', '.removeitem', function(){
console.log('clicked') ;
$(this).parent().remove() ;
});