jQuery селектор :visible
Определение и применение
jQuery селектор :visible выбирает все элементы, которые видимы (занимают место в документе). В jQuery 3 достаточно наличия области раскладки, даже с нулевой шириной и высотой.
Обращаю Ваше внимание на то, что этот селектор выбирает следующие элементы, так как они все еще занимают место в макете страницы:
-
Элементы у которых установлено значение
hiddenу CSS свойстваvisibility(определяет, является ли элемент видимым). -
Элементы у которых установлено значение
0у CSS свойстваopacity(прозрачность).
Под скрытыми элементами подразумевается:
-
Элементы у которых установлено значение
noneу CSS свойстваdisplay. - Элементы формы, для которых установлено значение
"hidden"в атрибутеtype. -
Элемент не создаёт ни одной области раскладки. В jQuery 3 нулевая ширина и высота сами по себе не означают, что
элемент скрыт: например,
<br>и пустой строчный элемент могут соответствовать:visible. - Родительский элемент скрыт, в этом случае дочерние элементы также не отображаются.
Селектор :visible является противоположностью селектора :hidden (каждый элемент, который был выбран одним селектором не будет выбран другим и наоборот).
jQuery синтаксис:
$(":visible")
Добавлен в версии jQuery
1.0Селектор в CSS
Это селектор jQuery, он не является частью спецификации CSS.Пример использования
Пример использования jQuery селектора :hidden
Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.
index.html
<button>Клик</button>
<div style="width: 50px; height: 50px; margin: 5px; background: plum; opacity: 0"></div>
<div style="width: 50px; height: 50px; margin: 5px; background: plum; display: none"></div>
<div style="width: 50px; height: 50px; margin: 5px; background: plum"></div>
<div style="width: 50px; height: 50px; margin: 5px; background: plum; display: none"></div>
<div style="width: 50px; height: 50px; margin: 5px; background: plum; visibility: hidden"></div>
main.js
$(document).ready(function () {
$('button').click(function () {
$('div:visible').css({
border: '1px solid #000',
visibility: 'visible',
opacity: '1',
})
})
})
Нажмите ▶, чтобы запустить пример.
В этом примере при нажатии на кнопку мы запускаем функцию, которая с использованием селектора :visible выбирает
все видимые (занимают место в документе) элементы
<div>
и стилизует их.