jQuery:在函数内部使用 $(this) ?

发布于 2024-10-20 04:48:37 字数 390 浏览 2 评论 0原文

有没有办法在 jQuery 函数中使用 $(this)

HTML

<ul>
  <li class="delete"><a onclick="deletePerson(12);" href="">Delete</a></li>
</ul>

jQuery

function deletePerson(id) {
  $(this).parent().remove(); // doesn't work
  // [...]
  return false;
}

Is there a way to use $(this) inside jQuery functions?

HTML

<ul>
  <li class="delete"><a onclick="deletePerson(12);" href="">Delete</a></li>
</ul>

jQuery

function deletePerson(id) {
  $(this).parent().remove(); // doesn't work
  // [...]
  return false;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

兔姬 2024-10-27 04:48:37

将引用作为参数传递:

<ul>
  <li class="delete"><a onclick="deletePerson(this, 12);" href="">Delete</a></li>
</ul>

function deletePerson(link, id) {
  $(link).parent().remove(); 
  // [...]
  return false;
}

Pass a reference as a parameter:

<ul>
  <li class="delete"><a onclick="deletePerson(this, 12);" href="">Delete</a></li>
</ul>

function deletePerson(link, id) {
  $(link).parent().remove(); 
  // [...]
  return false;
}
薄荷→糖丶微凉 2024-10-27 04:48:37

您可以使用 .call() 根据您的请求设置 this 的值。

<a onclick="deletePerson.call( this, 12 );" href="">Delete</a>

现在,在 deletePerson 函数中,this 将成为元素。

function deletePerson(id) {
  $(this).parent().remove(); // will work
  // [...]
  return false;
}

You can use .call() to set the value of this as you requested.

<a onclick="deletePerson.call( this, 12 );" href="">Delete</a>

Now in the deletePerson function, this will be the element.

function deletePerson(id) {
  $(this).parent().remove(); // will work
  // [...]
  return false;
}
真心难拥有 2024-10-27 04:48:37

由于您使用的是 JS,因此您不需要在链接本身上添加 JS。

HTML

<ul>
    <li class="delete"><a onclick="deletePerson(12);" href="">Delete</a></li>
</ul>

jQuery

$('.delete').find('a').bind('click', function() {

    $(this).parent().remove();
    return false;

});

You don't need to have JS on the link itself since you're using JS.

HTML

<ul>
    <li class="delete"><a onclick="deletePerson(12);" href="">Delete</a></li>
</ul>

jQuery

$('.delete').find('a').bind('click', function() {

    $(this).parent().remove();
    return false;

});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文