2016-03-22 6 views
2

ich nicht scheinen, kann dies zu umgehen, ist es wahrscheinlich ziemlich einfach, aber hier gehen wir:Zielelement mit 2 Klassen innerhalb einer jQuery-Selektor nicht

Das ist meine Wähler und ich möchte für ein Element suchen mit beiden die Auswahl [0] und Auswahl [1] Klasse, aber das sucht nicht nach einem Element, das beides hat. Soweit ich das beurteilen kann, nimmt es nur die erste Auswahlklasse und sucht danach.

$(this).not("." + selection[0], "." + selection[1]).hide(); 

Ich habe manuell versucht, es so eingegeben und es funktioniert:

$(this).not(".class1.class2").hide(); 

ich das Komma zu erraten seperates die Wähler und es falsch es geht. Wie kann ich die gleiche Funktionalität erreichen?

+3

'$ (this) .not (". "+ Selection [0] +". "+ Selection [1]). Hide();' - Verwenden Sie '+' um diese 2 Strings zu verketten ... –

Antwort

4

comma Ersetzen , mit + zu verketten Auswahl [0] mit Punkt .

+0

Danke, das hat den Trick gemacht. Ziemlich schwer, eine Antwort zu finden, indem man mit Google schaut, da es nicht so einfach ist, zu formulieren. Danke für die Hilfe! –

+1

Sie sind herzlich willkommen @ Stephan-v – Adil

2

Diese Linie

$(this).not("." + selection[0], "." + selection[1]).hide(); 

hat einen Fehler Syntax (nicht von JS Sicht, sondern jquery Selektors Sicht)

machen

$(this).not("." + selection[0] + "." + selection[1]).hide(); //replaced comma with + 
+2

Es ist eigentlich kein Syntaxfehler (diese Verwendung des Komma-Operators ist gültiges JavaScript), aber es resultiert ein ungültiger Selektor. –

+0

@ FrédéricHamidi 'nur' war ein Tippfehler :) – gurvinder372