将此作为参数添加到jquery中的函数

时间:2012-03-22 12:46:06

标签: jquery

在我的页面中,我需要将当前变量作为参数提供给函数AjaxLoader,然后添加选定的类。 但是,当我将其作为参数传递时,它不起作用。有没有办法做到这一点? 我的代码如下。

$('a').click(function() {

   var current = $(this).find('td');
   current.addClass("selected");
   AjaxLoader(current);

}

function AjaxLoader(current){

   $.ajax({
   type: "POST",
   url: "test1.php",
   success: function(response) {
    //this is what I want to do
   current.addClass("selected");
     }


   })


 }

3 个答案:

答案 0 :(得分:0)

您没有关闭您的功能。您也可以在使用之前定义该功能。

function AjaxLoader(current){

   $.ajax({
       type: "POST",
       url: "test1.php",
       success: function(response) {
           //this is what I want to do
           current.addClass("selected");
           }
   });
}

$('a').click(function() {

   var current = $(this).find('td');
   current.addClass("selected");
   AjaxLoader(current);

});

答案 1 :(得分:0)

您也可以使用ajax参数的上下文成员

$.ajax( {..., context: current, success: function () { $(this) // current

请参阅http://api.jquery.com/jQuery.ajax/

答案 2 :(得分:0)

你很可能在A标签内有一张桌子。 您可能希望closest()parent()而不是find()来获取包含A标记的td。 find()查找元素的后代

http://api.jquery.com/closest/

http://api.jquery.com/parent/

http://api.jquery.com/parents/

$('a').click(function() {

   var current = $(this).closest('td');
   current.addClass("selected");
   AjaxLoader(current);

});

function AjaxLoader(current){

   $.ajax({
       type: "POST",
       url: "test1.php",
       success: function(response) {
       //this is what I want to do
       current.addClass("selected");
       }
   });
};