выяснить, является ли CSS-слой блоком jquery - PullRequest
3 голосов
/ 08 сентября 2010

Я пытаюсь найти способ выяснить, отображается ли слой или нет

if ($('.property > .evenprop').css('display','block')){
    $('.otherprop').show();
    }
    else {
    $('.otherprop').hide();
    }

Что-то вроде того, если это правда

<div class="property">

<div class="evenprop" style="display:block">blah</div>

</div>

Затем покажите этот слой

<div class="otherprop">blahblah</div>

$('.otherprop').show();

Иначе, если это правда

<div class="property">

<div class="evenprop" style="display:none">blah</div>

</div>

Затем спрячьте этот слой

<div class="otherprop">blahblah</div>

$('.otherprop').hide();

Не получается заставить это работать, хотя какие-либо идеи?

Спасибо

Джейми

Ответы [ 3 ]

6 голосов
/ 08 сентября 2010

Вы ищете псевдокласс :visible.

if ($('.property > .evenprop').is(':visible')){
    $('.otherprop').show();
} else {
    $('.otherprop').hide();
}

Выше можно уменьшить до

$('.otherprop').toggle($('.property > .evenprop').is(':visible'));
0 голосов
/ 08 сентября 2010

Это бы тоже сработало:

if ($('.property > .evenprop').css('display') == 'block'){ 
    //...
}
0 голосов
/ 08 сентября 2010

$('.property > .evenprop').css('display','block') установит CSS. Если вам нужно проверить, используйте : видимый селектор

Вы можете использовать что-то вроде этого:

if($('.property > .evenprop :visible').size!=0)

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