我如何将此Js函数转换为jquery中的匿名函数

时间:2011-09-25 16:37:56

标签: jquery jquery-selectors

在Load上调用此函数如何将其转换为jquery匿名函数。我试过,但它给了我对象预期的错误。此外,我打电话给下面 setTab()在20个文件中,所以我无法更改调用的签名,它应该与(setTab(“Test”))相同,但是需要将实现更改为接受参数的匿名函数。

//旧JS func()

   function setTab(selection) {
         $("#"+selection).css('background', '#CC0000');
         $("#"+selection).css('color', '#ffffff');       
    }   

// jquery Anonynous Func

    var setsTab = (function (selection) {
     $("#"+selection).css('background', '#CC0000');
     $("#"+selection).css('color', '#ffffff');  
})();

2 个答案:

答案 0 :(得分:1)

问题是你已经设置了一个自动执行匿名函数,这意味着setsTab被设置为函数返回的内容(未定义),因为函数一旦被调用就被调用(这就是函数结束时的paren组)。声明,调用函数);​​

我会做的是

var setsTab = function(selection) {
     $("#"+selection).css('background', '#CC0000');
     $("#"+selection).css('color', '#ffffff');  
};

答案 1 :(得分:0)

我猜你想要这样吗?

var setsTab = function (selection) {
     $("#"+selection).css('background', '#CC0000');
     $("#"+selection).css('color', '#ffffff');  
}

编辑:但这与jQuery没有任何关系。 (anonymous jquery function?)