2011-10-06 15 views

Odpowiedz

116

Czy próbowałeś spojrzeć na .next('li').length?

+0

Czy go ! Dzięki! –

+0

Bez problemu. Cieszę się, że mogłem pomóc. – George

+0

Z jakiegoś głupiego powodu ciągle używałem .length() – TheHamstring

2
if($("#people .making-of .mask ul li.current").next("li").length > 0) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 
20

Zastosowanie jQuery .is() korzystając .is() można nawet sprawdzić, co tag, klasa lub ID Kolejnym elementem mieć?

if($("#people .making-of .mask ul li.current").next().is('li')) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 
14

najkrótsza metoda jest po prostu:

if($(...).next('li')[0]) { 

Ponieważ funkcje jQuery zawsze zwraca obiekt jQuery, to nigdy nie równa null. Ale dostęp do obiektu jQuery, podobnie jak w przypadku tablicy, działa tak, jak przy użyciu tablicy obiektów DOM, więc [0] pobierze pierwszy dopasowany element DOM lub null. Sprawdzanie .length() przeciw 0 działa, jak również.

1

Podobnie jak w powyższym poście, musisz sprawdzić długość przedmiotu. Jquery.next() zawsze zwraca obiekt jQuery, ale jeśli nie ma Kolejnym punktem będzie mieć długość 0.

if($("#people .making-of .mask ul li.current").next("li").length > 0) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 
1

Użyj metody length w jQuery:

if($(...).next().length > 0) { 
    alert("Exists.") 
} else { 
    alert("Doesn't exist!") 
} 
+0

To nie działa, przynajmniej w wersji 3.1.0. – Agamemnus

+0

(Musisz użyć właściwości '' .length'') – Agamemnus

Powiązane problemy