Jquery проверить наличие элемента на странице

Материал из JQuery

Проверяет, удовлетворяет ли заданному селектору хотя бы один из выбранных элементов.

Проверяет, есть ли среди выбранных элементов, хотя бы один из элементов заданного объекта jQuery.

Проверяет, есть ли среди выбранных элементов, элемент elem (задается объектом DOM-элемента).

$("div").is(".lBlock") проверит, имеется ли на странице div-элемент(ы) с классом lBlock.
$(".lBlock").is("#area") проверит, имеется ли среди элементов с классом lBlock, элементы с идентификатором area.

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

Подсказка: иногда необходимо проверить, соответствуют ли все выбранные элементы заданному селектору:

Изменения в логике метода

До jQuery-1.7, метод .is() обладал небольшой логической ошибкой. При использовании позиционных селекторов, таких как :first, :gt() или :even, метод .is() смотрел позицию относительно расположения элементов в объекте jQuery, а не в документе. Поэтому, например, если объект jQuery содержал все элементы одного списка:

возвратило бы ожидаемое значение true, а вот выражение

уже оказалось бы равным false.

В jQuery-1.7 этот недостаток был устранен и при использовании позиционных селекторов в методе .is(), библиотека jQuery делает проверку относительно расположения элементов внутри документа, а не текущего объекта jQuery.

На практике приходится очень часто проверять существует ли элемент на веб-странице или нет.

Например, задача может быть следующей:

если на странице есть блок div с атрибутом id, то нужно выполнить какие-то действия с элементами, которые в нем находятся.

Такую проверку очень важно производить. Если в скрипте будет запрашиваться элемент, которого нет на странице, то будет ошибка. Скорее всего, вы знаете, насколько могут быть опасны ошибки в Javascript, весь код который расположен ниже, может просто не обрабатываться.

Читайте также:  Как выровнять input по центру

Поэтому производить проверку существования элемента — это очень важный момент.

Хочу рассказать о способе, как это можно сделать с помощью библиотеки Jquery.

$(«#mydiv»).length – это выражение будет возвращать true, когда скрипту удалось найти элемент и false в противном случае. Именно этот принцип работы и позволяет выполнить необходимую проверку.

Если у вас появляется окно такого вида, значит, все работает нормально.

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

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

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

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

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

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

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

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