Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用变量jQuery函数_Javascript_Jquery_Dynamic Function - Fatal编程技术网

Javascript 调用变量jQuery函数

Javascript 调用变量jQuery函数,javascript,jquery,dynamic-function,Javascript,Jquery,Dynamic Function,如何使用window[]()调用变量javascriptfunctions 是否可以调用变量jQueryfunctions?如果是,怎么做 通常,我只需要一个三元来翻转一个可见的开关,将许多行代码涂抹成1将非常方便。例如,在一个$.aja()success中: if(msg.length > 0){ $("#gridViewContainer").slideDown() } else{ $("#gridViewContainer").slideUp() } 这可能是一个糟

如何使用
window[]()
调用变量javascript
function
s

是否可以调用变量jQuery
function
s?如果是,怎么做

通常,我只需要一个三元来翻转一个可见的开关,将许多行代码涂抹成1将非常方便。例如,在一个
$.aja()
success
中:

if(msg.length > 0){
    $("#gridViewContainer").slideDown()
}
else{
    $("#gridViewContainer").slideUp()
}
这可能是一个糟糕的例子,因为
布尔值
可能会传递给
幻灯片()
或其他内容,但我想使用上面链接问题中的概念

这对我不起作用:

$("#gridViewContainer")[((msg.length > 0)?'slideDown':'slideUp')]()

jQuery函数仍然只是JavaScript函数,因此与任何其他JS函数一样适用于它们

您可以按如下方式调用对象的方法
objectVar

objVar.method();
objVar["method"]();
var methodName = "method";
objVar[methodName]();
您的问题提到使用
window[]()
——这适用于全局函数,因为它们本质上是
window
的属性(当然,如果在浏览器中运行JS)

因此,对于jQuery,您可以执行以下操作:

var methodName = "hide";
$(someSelector)[methodName]();
$(someSelector)[anyJSExpressionThatReturnsAStringThatIsAjQueryMethod]();
编辑:我刚看到问题的新版本。用
?:
运算符显示的代码行选择方法名称应与
if/else
具有相同的效果。我自己也使用过类似的代码,没有任何问题,而且它在中工作得很好。请注意,由于您的动机似乎是缩短代码,您可以省略
[]
中表达式中的所有括号,只需执行以下操作:

$("#gridViewContainer")[msg.length > 0?'slideDown':'slideUp']();
…甚至省略
>0
部分,因为
msg.length
在非零时为真:

$("#gridViewContainer")[msg.length ?'slideDown':'slideUp']();

“调用变量jQuery函数”是什么意思?你能举个例子吗?jQuery函数是javascript函数,因为jQuery是javascript。当然,
x=“hide”$(选择器)[x]()
@Gracchus张贴一把小提琴来演示问题。@Gracchus以下是(大部分)您的示例: