jQuery Mehrfachauswahl mit $ (this)

8

gibt es eine Möglichkeit, dies zu tun:

%Vor%

damit möchte ich auch "dieses" Element und #bar auswählen. Für die Auswahl, sagen wir zwei IDs, ist es genauso einfach wie '#foo, #bar' , aber wenn ich möchte, dass eines dieser beiden "dieses" ist, kann ich es nicht zum Laufen bringen.

    
Lukáš Řádek 06.07.2013, 19:13
quelle

3 Antworten

14

Problem mit Ihrem Ansatz

%Vor%

Die obige Zeile sucht nach this in einem Element mit id auf foo , was hier nicht gewünscht ist.

Lösung

Sie können add() dafür verwenden:

%Vor%

Jetzt $el enthält $(this) & amp; $("#foo") , für die Sie Operationen ausführen können.

Weitere Informationen zu den verwendeten Methoden

add("selector")

  • Dokumente: Ссылка
  • Was es tut: Fügen Sie der Menge übereinstimmender Elemente Elemente hinzu.
krishgopinath 06.07.2013, 19:15
quelle
4

Das Problem mit dem Ansatz, den Sie verwenden:

%Vor%

JS Fiddle-Demo .

Ist dies eine kontextsensitive Auswahl, die nach this im #foo -Element sucht (und identisch mit $('#foo').find(this) ist), was innerhalb von jQuery gültig ist, obwohl ich mir etwas sinnlos vorstellen würde (vorausgesetzt, dass Sie haben bereits einen Verweis auf this (ich nehme an, wenn nicht this vielleicht wäre window )).

Ehrlich gesagt bin ich mir nicht ganz sicher, warum der Selektor überhaupt funktioniert, es sei denn, der this -Knoten jQuery verwirft einfach den Kontext, da er bereits weiß, wo der this -Knoten ist und was er hat eine Referenz.

Um zu einer Auswahl hinzuzufügen:

%Vor%

JS Fiddle Demo .

Oder (umgekehrt):

%Vor%

JS Fiddle-Demo .

Referenzen:

David Thomas 06.07.2013 19:17
quelle
1

Was Sie vielleicht auch suchen, ist

%Vor%

Es wird das Objekt foo id in $(this)

finden     
user875479 12.07.2016 15:00
quelle