在ajax中使用$(this)来引用元素

时间:2016-12-23 01:02:53

标签: jquery html ajax

我想在ajax成功函数中使用$(this) - 选择器来选择之前被双击的元素.selectclass。但是,这不起作用。是否可以在ajax成功函数中选择?

jQuery的:

$(document.body).on("dblclick",".selectclass",function(){
    bla = $(this).attr("class").slice(5); //works fine
    $.ajax({
        url: 'bla.php',
        type: 'post',
        dataType:'json',
        data: {
            'bla':bla
        },
        success: function(reply) {
            if((reply == "blabla")
            {
                $(this).siblings().find(".likes, .likes1").slideToggle('slow'); //not working 
            }
        }
    });
});

1 个答案:

答案 0 :(得分:3)

您需要缓存变量。

$(document.body).on("dblclick", ".selectclass", function() {
  var $this = $(this);
  var bla = $this.attr("class").slice(5); //works fine
  $.ajax({
    url: 'bla.php',
    type: 'post',
    dataType: 'json',
    data: {
      'bla': bla
    },
    success: function(reply) {
      if (reply == "blabla") {
        $this.siblings().find(".likes, .likes1").slideToggle('slow'); // will work now 
      }
    }
  });
});

请将var用于本地变量。你在if之后也有一个错字。

if((reply == "blabla") // Remove the double parenthesis.