jQuery:如何在函数中使用函数参数作为函数名?

时间:2011-03-10 03:18:33

标签: jquery function variables arguments argument-passing

我之前遇到过这个问题几次,所以这次我想我会从那些了解得更好的人那里得到一些建议。

我基本上想在我的函数中使用function( argument )作为函数名。

以下是我尝试使用的一些代码:

$.fn.moveTo = function( myAction ) {

    $(this).myAction().fadeIn(400);

};
$('.currentElement').moveTo( 'next' ); // should become: $(this).next().fadeIn(400);
$('.currentElement').moveTo( 'prev' ); // should become: $(this).prev().fadeIn(400);

关于如何让它运行的任何想法?

感谢。

3 个答案:

答案 0 :(得分:5)

尝试

$(this)[myAction]().fade(400)

答案 1 :(得分:1)

使用下标表示法:

$(this)[myAction]().fadeIn(400);

答案 2 :(得分:1)

尝试

$(this)[myAction].apply($(this), []).fadeIn(400);