Селектор видимости jquery - PullRequest
       5

Селектор видимости jquery

0 голосов
/ 12 октября 2010

Хотелось бы узнать, есть ли что-нибудь неправильное в следующем:

    if($('#three').is(':visible')) {
        alert("visible");
    } else {
        alert("hidden");    
    }

Спасибо

Ответы [ 3 ]

3 голосов
/ 12 октября 2010

Ваш код мне кажется правильным.Тем не менее, селектор visible в jQuery определяет невидимые элементы, если:

  • У них нет значения CSS для отображения.type = "hidden".
  • Их ширина и высота явно установлены на 0.
  • Элемент-предок скрыт, поэтому элемент не отображается на странице.

Так ли это в вашем тесте?

Некоторые другие важные аспекты этого селектора заключаются в том, что элементы с visibility: hidden или opacity: 0 считаются видимыми!

Также, поскольку1.3.2 этот селектор эволюционировал, как указано в журнале изменений .

2 голосов
/ 12 октября 2010

Лучше проверить это: : видимый селектор

<script>
 if( $('#foo').is(':visible') ) {
    // it's visible, do something
}
else {
    // it's not visible so do something else
}

if( $('#foo').is(':hidden') ) {
    // it's hidden, do something
}
else {
    // it's not hidden so do something else
}

</script>
0 голосов
/ 12 октября 2010

Убедитесь, что #three имеет атрибут отображения, установленный на какое-то значение по умолчанию.Например, Display = "none"

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