jQuery相当于Ruby的.send()方法

时间:2012-07-06 06:15:25

标签: jquery

我目前正在开发一个jQuery插件,我想解雇一个元素,但是它被解雇的方式(slideUp,hide和其他jQuery方法)指定为一个选项。

例如,有人可以指定:

$('element').plugin({style: "slideUp", speed: 300});

它将在给定元素上调用slideUp。

这是一个简化的示例,插件将做更多但我只是想知道在JavaScript / jQuery中是否可以使用这样的东西。作为一个并行,我正在寻找类似于Ruby的.send()方法的东西。

谢谢!

修改 我确实找到了this plugin ,它做了类似于我正在寻找的东西但我很乐意,如果有一些方法可以做到这一点而不包括另一个插件。

1 个答案:

答案 0 :(得分:9)

您可以使用方括号[]访问javascript对象的任何成员(包括函数)然后使用正常括号()调用它。这是一个非常简化的例子

​var test = {
    slide: function() {alert('slide');}​,
    fade: function() {alert('fade');}
}

var style = "slide"; // or 'fade'

test[style]();​​​​​​