我正要为我的待办事项列表代码创建删除按钮。
这是我在 <script>
中的代码
var del = $("<ion-icon name='trash'></ion-icon>").click((e)=>{
var p = $(this).parent();
p.remove()
console.log(this)
})
我在浏览器控制台中得到了这样的日志。
Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
现在我发现另一种方法是使用$(e.target)
但我还是很好奇为什么回调函数中的 $(this) 是“window”。
我正在等待您的精彩答复:)谢谢!
- 这就是我想在代码中执行的操作
$('#task').click((e)=>{
var task = $("<li class='task'></li>").text($('#enter-task').val())
var del = $("<ion-icon name='trash'></ion-icon>").click((e)=>{
var p = $(this).parent();
p.remove()
console.log(this)
})
task.append(del)
$("#tasklist").append(task)
})
最佳答案
jQuery .parent()方法返回 span 元素的父元素,如文档中所示。
您的图标可能位于 span 元素内,当您调用方法 Parent() var p = $(this).parent();
您的目标是 Window对象。
关于javascript - jQuery 为什么回调函数中的 $(this) 是 "window"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59480353/