Wie kettet man eine anonyme Funktion in jQuery?

8

Ich versuche eine anonyme Funktion in jQuery zu verketten, aber es funktioniert nicht. Ich erhalte eine Fehlermeldung "Fehler: XML-Filter wird auf Nicht-XML-Wert angewendet ...". Was ist die richtige Syntax oder gibt es eine Effektfunktion, die ich verwenden kann, die nichts visuell macht und die meine Funktion umschließt?

Mein Beispiel: $item.appendTo($list).(function() {.....}());

    
Tony_Henrich 08.12.2010, 22:28
quelle

3 Antworten

7
___ qstnhdr ___ Wie kettet man eine anonyme Funktion in jQuery? ___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ answer4393046 ___

Sollte es nicht sein:

%Vor%

Ich habe total vergessen, die Rückgabe von $ zu erwähnen;

    
___ qstntxt ___

Ich versuche eine anonyme Funktion in jQuery zu verketten, aber es funktioniert nicht. Ich erhalte eine Fehlermeldung "Fehler: XML-Filter wird auf Nicht-XML-Wert angewendet ...". Was ist die richtige Syntax oder gibt es eine Effektfunktion, die ich verwenden kann, die nichts visuell macht und die meine Funktion umschließt?

Mein Beispiel: %code%

    
___ antwort4393053 ___

Verkettung funktioniert, indem das ursprüngliche jQuery-Objekt als Ergebnis des Aufrufs der angegebenen kettenfähigen Funktion zurückgegeben wird. Um Ihre anonymen Funktionen zu verketten, müssen Sie das ursprüngliche jQuery-Objekt hypothetisch "zurückgeben".

Allerdings muss Ihre Funktion im Kontext des jQuery-Objekts aufgerufen werden können. Zum Beispiel existiert die Funktion

%Vor%

Es gibt jedoch keine Funktion für das jQuery-Objekt, das erreichbar ist mit:

%Vor%

Denken Sie so darüber nach. Nehmen wir an, Sie haben das folgende Objekt:

%Vor%

Die 'foo' Deklaration ist als Eigenschaft / Deklaration auf obj verfügbar. Aber was genau ist die Deklaration, auf die Sie mit einer anonymen Funktion verweisen?

%Vor%

Die einzige Möglichkeit, Ihrer anonymen Funktion einen Ausführungskontext des jQuery-Objekts zu geben, wäre ein 'Aufruf' an sie.

%Vor%

Wenn Sie das ketten wollten, könnten Sie das theoretisch tun, indem Sie:

%Vor%

Aber ich bin mir nicht sicher, was Sie gewinnen würden. Ihre beste Wette ist einfach zu tun:

%Vor%

Oder, wenn Sie mit einem Selektor anfangen:

%Vor%

Aber an dieser Stelle sind anonyme Funktionen nicht so nützlich, also würde ich einfach:

%Vor%     
___ answer4393056 ___

Sie können die Methode %code% verwenden

%Vor%

Alternativ können Sie das jquery-Objekt um eigene Funktionen erweitern ( %code% ).

> %Vor%

und jetzt können Sie %code%

aufrufen     
___
Matt 08.12.2010, 22:32
quelle
5

Sie können die Methode .each verwenden

%Vor%

Alternativ können Sie das jquery-Objekt um eigene Funktionen erweitern ( jQuery.fn.extend() ).

> %Vor%

und jetzt können Sie $item.appendTo($list).myOwnFunc()

aufrufen     
Gaby aka G. Petrioli 08.12.2010 22:32
quelle
0

Sollte es nicht sein:

%Vor%

Ich habe total vergessen, die Rückgabe von $ zu erwähnen;

    
drewish 08.12.2010 22:32
quelle

Tags und Links