El encadenamiento funciona devolviendo el objeto jQuery original como resultado de la invocación de la función encadenable dada. Hipotéticamente, para encadenar sus funciones anónimas, debe 'devolver' el objeto jQuery original.
Sin embargo, su función tiene que ser invocable desde el contexto del objeto jQuery. Por ejemplo, existe la función
$item.appendTo
Sin embargo, no hay ninguna función en el objeto jQuery que es accesible por:
$item.(function(){ })
Piense en ello como esto. Digamos que usted tiene el objeto siguiente:
var obj = { foo: function(){ console.log(1); } };
La declaración 'foo' es accesible como una propiedad/declaración sobre obj. Pero, ¿cuál es exactamente la declaración a la que hace referencia con una función anónima?
obj.(function(){ })
La única forma en que podría dar a su función anónima un contexto de ejecución del objeto jQuery, sería hacer una 'llamada' en él
(function(){ }).call($item, args);
Si usted quería cadena de esto, se podría hacerlo teóricamente por:
(function(){ return this; }).call($item, args).appendTo($other);
Pero no estoy seguro de qué ganaría. Su mejor apuesta es simplemente hacer:
$item.appendTo($list);
(function($obj){ })($item);
O, si usted está comenzando con un selector:
var $item = $('#someID').appendTo($list);
(function($obj){ })($item);
Aunque, en este punto funciones anónimas no son tan útiles, por lo que simplemente :
var someFunc = function($obj){ };
$item.appendTo($list);
someFunc($item);
¿Se puede elaborar en lo que estás tratando de lograr? Esto no tiene sentido para mí en absoluto.¿Estás tratando de invocar una función tal que 'this' está establecido en' $ item'? – meagar