Как в jQuery проверить наличие элемента на странице?

· jQuery и Снипеты · 1 мин чтения

В этом записи я поделюсь простым снипетом, который позволит вам проверить существует ли элемент на странице.

Изначально хочу уничтожить слух о существовании jQuery exists метода — его просто нет. Место него есть другие функции, которые позволяет проверить наличие элемента на странице.

Возможно, что разработчики jQueru планируют добавить такую функцию, но сейчас ее нет и приходится пользоваться альтернативными методами.

Например, вы хотите найти какой-то элемент на странице, то можете сделать как показано на примере ниже:

$(function() {
    if( $('.element').length ) {
        // Элемент .element был найден на странице
    } else {
        // Элемент .element не был найден на странице
    }
});

Метод length возвращает 1(true) или 0 (false), 1 — это если элемент существует, а 0 — если нет.

Если вам все же хочется восспользоваться чем-то похожим на exists  в jQuery, то можно восспользоваться следующим снипетом:

jQuery.fn.exists = function(){return this.length>0;}

if ( $('.element').exists() ) {
    // .element был найден
} else {
    // .element не был найдер
}

В примере выше, создается мини плагин, который называется exists, который возвращает проверку на наличие элемента на странице.

exists() , читабельность кода будет намного выше, чем с length методом. exists() метод сразу говорит о том, что происходит на определенном участке кода, когда length не совсем понятно что из себя представляет.