JQuery - если виден DIV ID - PullRequest
       10

JQuery - если виден DIV ID

15 голосов
/ 22 сентября 2009

Я пытаюсь выяснить, скрыт ли DIV или нет.

Это псевдокод:


if(DIV != VISIBLE) // not visible
{
  show content
}

Кто-нибудь из экспертов JQuery может мне помочь?

Спасибо, Роберт

Ответы [ 5 ]

42 голосов
/ 22 сентября 2009

Если вы пытаетесь просто показать div, который скрыт, то вам вообще не нужно делать никаких проверок:

$('#myDiv').show();

Независимо от своего состояния, оно будет видимо сейчас.

Однако, если вы хотите выполнить другие действия в зависимости от того, является ли контент видимым или нет, вам необходимо проверить:

if ($('#myDiv').is(":hidden")) 
// or
if ($('#myDiv:hidden').length) 
// or
if ($('#myDiv:not(:visible)')) {    // you get the idea...
    //perform your actions
}
30 голосов
/ 22 сентября 2009

Все остальные ответы в порядке, но это просто для того, чтобы перевести ваш псевдокод в реальный код JavaScript:

if (!$('div').is(':visible')) {
  $('div').show();
}
4 голосов
/ 22 сентября 2009

Следующее отобразит DIV с именем myDiv, если оно скрыто. Обратите внимание, что если вы хотите сделать что-то другое, вы также можете использовать each () вместо show и выполнять другие операции с $ (this) внутри каждого.

$('div#myDiv:hidden').show();
1 голос
/ 22 сентября 2009

Будет проверено, выбраны ли какие-либо скрытые элементы с идентификатором «mydiv»:

 if ( $("#mydiv:hidden").length > 0)
 {
    // 
 }

Редактировать: Упрощенный селектор. Пришлось посмотреть: /

0 голосов
/ 28 мая 2015

Если вы только хотите скрыть и показать элемент, вы также можете просто использовать метод jQuery .toggle () , который сделает это за вас. Точно так же методы .slideToggle () и .fadeToggle () будут скрывать и отображать элементы с анимацией слайдов или затухания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...