jQuery为什么$(this)在回调函数“窗口”中?

问题描述 投票:0回答:1

我正要为我的待办事项清单代码添加删除按钮。这是我在<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”。我正在等待您的好答案:) thx!

  • 这就是我想在我的代码中所做的
$('#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 dom window this
1个回答
1
投票
jQuery .parent()方法返回span元素的父级,这在文档中显示。
© www.soinside.com 2019 - 2024. All rights reserved.