如何将这个Js函数转换为jQuery中的匿名函数

问题描述:

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

//*S 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

究竟是什么你想在这里做什么?这有点不清楚。你能否指出我们这样做的一个例子? – JaredPar

+0

HTML的其余部分在哪里?你包括jQuery本身?你把你的代码放在jQuery的'document.ready'中吗? – Sparky

+0

@JaredPar:Iam尝试将现有JS函数的定义更改为匿名函数或闭包(它应该接受相同的参数选择)。此外,我应该使用相同的签名调用函数 – Someone

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

什么,我会做的是

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

我猜你要这样说?

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

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

+1

或称为“匿名函数”给出:p与帖子的主要区别在于函数对象不是首先被调用,而是被赋值给变量。 – 2011-09-25 16:42:55