jQuery指向单击的元素的指针

时间:2010-12-28 22:36:43

标签: javascript jquery html-parsing

我希望它是愚蠢的,但我的脑袋今天正好重载:)我有这个代码,我需要将指针存储在单击的元素上并将其传递给回调函数。确切地说,它是一个提交按钮,并在正确的ajax提交表单后,我想删除它们的内容。我已经尝试了很多这些parent(),children(),..组合,但它不起作用:

$("form :submit").click(function () {  
            var element = this;  
            $(this).ajaxSubmit(function(payload, element){  
            $.nette.success(payload);  
            $(element).parent().children(".addStatusTextArea").val("");  
            hideMessage();  
        }  
    );  

    return false;  
});

2 个答案:

答案 0 :(得分:3)

问题是,element 在回调的参数中指定,请将其保留,如下所示:

$("form :submit").click(function() {
  var element = this;
  $(this).ajaxSubmit(function(payload) { //no element here in params
    $.nette.success(payload);
    $(element).parent().children(".addStatusTextArea").val("");
    hideMessage();
  });
  return false;
});

当它在参数中时,定义了 more 本地element,而不是之前设置的那个。我不确定你的亲戚.parent().children()电话是否正确(如果是.siblings(".addStatusTextArea")可能没有看到你的标记)...但你的主要问题是element不是你的想。

答案 1 :(得分:1)

从传递给ajaxSubmit的函数中删除element参数。 即。

$("form :submit").click(function () {
    var element = this;
    $(this).ajaxSubmit(function(payload){
        $.nette.success(payload);
        $(element).parent().children(".addStatusTextArea").val("");
        hideMessage();
    });
    return false;
});