JQuery — как проверить существование элемента


Работая над заданием по ускорению работы сайта пришлось покопаться в чужом коде, где выявил довольно много косяков — которые решил пофиксить, вот один из них:
common.js подгружается в шаблоне для всех страниц сайта, и соответственно все элементы с которыми происходит работа в этом файле должны присутствовать на странице — иначе в консоль выводятся разные сообщения об ошибках
В идеале нужно вынести работу с такими элементами в отдельный файл, найти именно те страницы и подключать этот файл именно на них.

Но это долго и муторно, к тому же такого задания мне не ставили.
Как быстрое решение — просто добавить дополнительную проверку на существование элемента — решение.

// Способ первый - стандартный:
if($("#findID").length>0) {
// exists
}
//еще проще:
if($("#findID").length) {
// exists
}
// Еще вариант:
if($('#findID')[0]) {
// exists
}
// Способ второй - удобный (создадим пользовательскую функцию exists() ):
// Один раз объявляем функцию, потом используем так, как в примере
jQuery.fn.exists = function() {
return $(this).length;
}
// Пример использования:
if($("#findID").exists()) {
// exists
}
// Можно и так:
jQuery.exists = function(selector) {
return ($(selector).length > 0);
}
// Пример использования:
if ($.exists(selector)) {
// exists
}


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *