gpt4 book ai didi

javascript - jQuery 函数作为一个字符串,参数作为数组(JavaScript "apply()"等同于 jQuery 元素)

转载 作者:行者123 更新时间:2023-11-30 12:50:16 24 4
gpt4 key购买 nike

我想将一个 jQuery 函数调用到一个 jQuery 插件中,它的名称是一个字符串,它的参数是一个对象(数组)。我正在寻找一种与 jQuery 中的 JavaScript“应用”功能等效的功能。

我必须找到一个解决方法,但它真的很脏而且有局限性。在这里:

//funcName is the name of the function I want to call
//funcArgs is an Array of arguments
//$(this) is a jQuery element
switch(funcArgs.length) {
case 1:
$.fn[funcName] && $(this)[funcName](funcArgs[0]);
break;
case 2:
$.fn[funcName] && $(this)[funcName](funcArgs[0], funcArgs[1]);
break;
//...
default:
$.fn[funcName] && $(this)[funcName]();
}

你能帮我把它设为无限吗? (没有任何开关...)

非常感谢,

最佳答案

jQuery 是一个,而不是一种语言。您使用的语言是 JavaScript,因此 apply 正是您想要的:

var $this = $(this);
$this[funcName].apply($this, funcArgs);

或者

$.fn[funcName].apply($(this), funcArgs);

...因为 $.fn 是底层 jQuery 实例的原型(prototype)。

关于javascript - jQuery 函数作为一个字符串,参数作为数组(JavaScript "apply()"等同于 jQuery 元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21210536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com