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

Рейтинг: 3Ответов: 2Опубликовано: 07.04.2015

jQuery позволяет изменять видимость элементов с помощью таких функций как .hide(), .show() или .toggle().

Как проверить, видим элемент или нет, с помощью jQuery?

(вопрос переведён с английского; ссылка на оригинал: Testing if something is hidden)

Ответы

▲ 13Принят

У jQuery есть псевдо-селекторы :visible и :hidden. Следовательно:

if ($element.is(':visible')) {
    // $element виден
}

if ($element.is(':hidden')) {
    // $element не виден
}

Однако, нужно учитывать, что в большинстве случаев данные селекторы проверяют наличие или отсутствие CSS стиля display: none. Элементы со стилями visibility: hidden или opacity: 0 все равно будут считаться видимыми, поскольку визуально занимают место в теле документа.

▲ 4
if ($(elem).is(':hidden')) {
   ...
}