Ответ 1
Вы пробовали посмотреть .next('li').length
?
Есть ли способ проверить, существует ли следующий элемент? Проверьте мой код:
if($("#people .making-of .mask ul li.current").next("li") != null) {
alert("Exists");
}
else {
alert("Dont exists");
}
Что я делаю неправильно? Большое спасибо!
Вы пробовали посмотреть .next('li').length
?
Используйте jQuery .is()
, используя .is()
, вы даже можете проверить, какие теги, классы или идентификаторы имеют следующий элемент?
if($("#people .making-of .mask ul li.current").next().is('li')) {
alert("Exists");
}
else {
alert("Dont exists");
}
Самый короткий метод:
if( $( ... ).next('li')[0] ) {
Так как функции jQuery всегда возвращают объект jQuery, он никогда не равен null
. Но доступ к объекту jQuery, подобному массиву, действует так же, как вы используете массив объектов DOM, поэтому [0]
будет вытаскивать первый согласованный элемент DOM или null
. Также выполняется проверка .length()
на 0.
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
Как говорится выше, вам нужно проверить длину элемента. Jquery.next() всегда будет возвращать объект jquery, но если нет следующего элемента, он будет иметь длину 0.
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
Используйте метод length
в jQuery:
if($(...).next().length > 0) {
alert("Exists.")
} else {
alert("Doesn't exist!")
}