JQuery: проверка наличия следующего элемента - программирование
Подтвердить что ты не робот

JQuery: проверка наличия следующего элемента

Есть ли способ проверить, существует ли следующий элемент? Проверьте мой код:

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

Что я делаю неправильно? Большое спасибо!

4b9b3361

Ответ 1

Вы пробовали посмотреть .next('li').length?

Ответ 2

Используйте jQuery .is(), используя .is(), вы даже можете проверить, какие теги, классы или идентификаторы имеют следующий элемент?

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

Ответ 3

Самый короткий метод:

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

Так как функции jQuery всегда возвращают объект jQuery, он никогда не равен null. Но доступ к объекту jQuery, подобному массиву, действует так же, как вы используете массив объектов DOM, поэтому [0] будет вытаскивать первый согласованный элемент DOM или null. Также выполняется проверка .length() на 0.

Ответ 4

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

Ответ 5

Как говорится выше, вам нужно проверить длину элемента. Jquery.next() всегда будет возвращать объект jquery, но если нет следующего элемента, он будет иметь длину 0.

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

Ответ 6

Используйте метод length в jQuery:

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