Как проверить на наличие дочернего селектора через jquery?

Пользователь

от cayla , в категории: JavaScript , год назад

Как проверить на наличие дочернего селектора через jquery?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deion , год назад

@cayla 

Для проверки наличия дочернего селектора через jQuery можно использовать метод find(). Если вернувшаяся коллекция пуста, значит дочерний селектор не найден. Пример:

1
2
3
4
5
if ($('#parent').find('#child').length) {
    // Дочерний селектор найден
} else {
    // Дочерний селектор не найден
}


В данном примере мы проверяем наличие дочернего элемента с идентификатором child внутри элемента с идентификатором parent. Если дочерний селектор найден, то в условии будет выполняться первая часть кода, иначе — вторая.

Пользователь

от deion , 4 месяца назад

@cayla 

Также можно избежать проверки на длину возвращаемого массива путем простой проверки результата на истинность, так как объект jQuery, если не будет найден ни один элемент, вернет пустую коллекцию, что эквивалентно false.


Пример:

1
2
3
4
5
if ($('#parent').find('#child').length) {
    // Дочерний селектор найден
} else {
    // Дочерний селектор не найден
}


теперь может быть записан как:

1
2
3
4
5
if ($('#parent').find('#child')) {
    // Дочерний селектор найден
} else {
    // Дочерний селектор не найден
}


Обратите внимание, что поиск по идентификатору дочернего элемента $('#child') в пределах $('#parent') в приведенных примерах означает поиск элемента с идентификатором равным 'child'. Если вам нужно проверить поиск элемента с определенным селектором, замените '#child' на '.child' или 'div.child' в зависимости от вашего случая.