пятница, 15 июля 2011 г.

jQuery. Проверить существование элемента на странице

Для того, чтобы проверить существует или нет заданный элемент, можно использовать 2 способа. В основе всего, лежит тот факт, что jQuery селекторы возвращают массив и мы можем искать его длину. Даже если найден только 1 элемент (когда мы конкретный элемент ищем) то размер ответа будет равен 1.

Способ первый - стандартный:
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
}

2 коммент.: