如何在jQuery中链接匿名函数?

前端之家收集整理的这篇文章主要介绍了如何在jQuery中链接匿名函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在jQuery中链接一个匿名函数,但它不起作用.我收到错误错误XML过滤器应用于非 XML值…”.什么是正确的语法或是否有一个我可以使用的效果函数,它不会在视觉上做任何事情,包裹我的功能

我的例子:$item.appendTo($list).(function(){…..}());

解决方法

链接通过调用给定的可链接函数返回原始jQuery对象来工作.假设,要链接您的匿名函数,您必须“返回”原始jQuery对象.

但是,您的函数必须可以从jQuery对象的上下文中调用.例如,存在功能

$item.appendTo

但是,jQuery对象上没有可通过以下方式访问的函数

$item.(function(){ })

可以这样想.我们假设您有以下对象:

var obj = { foo: function(){ console.log(1); } };

‘foo’声明可作为obj上的属性/声明访问.但究竟,您使用匿名函数引用的声明是什么?

obj.(function(){ })

您可以为匿名函数提供jQuery对象的执行上下文的唯一方法是对其执行“调用

(function(){ }).call($item,args);

如果你想要链接这个,你理论上可以这样做:

(function(){ return this; }).call($item,args).appendTo($other);

但我不确定你会得到什么.你最好的选择就是:

$item.appendTo($list);
(function($obj){ })($item);

或者,如果您从选择器开始:

var $item = $('#someID').appendTo($list);
(function($obj){ })($item);

虽然,此时匿名函数不那么有用,所以我只想:

var someFunc = function($obj){ };
$item.appendTo($list);
someFunc($item);

猜你在找的jQuery相关文章