小编OnN*_*NIX的帖子

jQuery:在$ .ajax成功函数中使用$(this)

我正在进行$ .ajax调用,以下代码无法正常工作.警报导致'undefined'

$(document).ready( function {
  $(".elem").on("click", function(e) {

    e.preventDefault();

    $.ajax( {
      url: 'index.php',
      data: {
        'action': 'something'
      },
      success: function() {
        alert($(this).data("foobar"));
      }
    });
  });
)};
Run Code Online (Sandbox Code Playgroud)

但是,$(this)在输入ajax函数之前,我可以通过添加别名来使其正常工作.

$(document).ready( function {
  $(".elem").on("click", function(e) {

    var old_this = $(this);

    e.preventDefault();

    $.ajax( {
      url: 'index.php',
      data: {
        'action': 'something'
      },
      success: function() {
        alert(old_this.data("foobar"));
      }
    });
  });
)};
Run Code Online (Sandbox Code Playgroud)

我无法为被点击的元素分配唯一ID,因此通过$("#id")访问它不是一个选项.

是否有更标准化的方法来访问在进入成功函数之前存在的$(this),或者这种方式是否正常工作?

javascript ajax jquery this

3
推荐指数
1
解决办法
2087
查看次数

标签 统计

ajax ×1

javascript ×1

jquery ×1

this ×1