Jak sprawdzić, czy nie ma zajęć. Na przykład wiem, jak sprawdzić, czy ma „test” klasy, ale jak sprawdzić, czy nie ma „testu” klasy?
if($(this).hasClass("test")){
}
jquery
jquery-selectors
użytkownik1005793
źródło
źródło
if($(this).is(":not(.test)"))
> :)Odpowiedź sdleihssirhc jest oczywiście poprawna dla przypadku w pytaniu, ale jako odniesienie, jeśli chcesz wybrać elementy, które nie mają określonej klasy, możesz użyć selektora not :
źródło
Wybierz element (lub grupę elementów) mający klasę „abc”, a nie klasę „xyz”:
Wybierając zwykły CSS, możesz użyć
.abc:not(.xyz)
.źródło
użyj metody .not () i sprawdź atrybut:
Sprawdź tutaj: http://jsfiddle.net/AWb79/
źródło
Możesz spróbować:
źródło
Istnieją bardziej złożone scenariusze, w których to nie działa. Co jeśli chcesz wybrać element z klasą A, który nie zawiera elementów z klasą B. W końcu potrzebujesz czegoś więcej:
Jeśli element nadrzędny nie zawiera określonego elementu podrzędnego; jQuery
źródło
czytając te 6 lat później i pomyślałem, że też go zhakuję , również w żyle TIMTOWTDI ...: D, mając nadzieję, że nie jest to nieprawidłowa „etykieta JS”.
Zwykle ustawiam var z warunkiem, a następnie odwołuję się do niego później.
Chociaż powinienem wspomnieć, że robię to, ponieważ używam głównie warunkowego operatora trójskładnikowego i chcę czystego kodu. W tym przypadku chciałbym tylko:
...zamiast tego:
źródło
Nie wiem dlaczego, ale zaakceptowana odpowiedź nie działała dla mnie. Zamiast tego działało:
źródło