Определить, установлено ли свойство CSS на определенное значение?

Просто интересно, как определить оператор jQuery, подобный этому

if( $("#test").css('display', 'block') == true) {
   return true;
}

В принципе, я хочу иметь возможность определить, будет ли элемент в настоящее время отображаться или скрываться через атрибут "display: block"?

Ответ 1

Использование

if( $("#test").css('display') == 'block') {

Я уверен, что .css(), возвращая вычисленное значение, всегда будет возвращать результат в нижнем регистре - документы ничего не говорят об этом. Чтобы убедиться, вы можете сделать

if( $("#test").css('display').toLowerCase() == 'block') {

в то время как вы можете положиться на display, давая надежные результаты, обратите внимание, что некоторые свойства CSS не всегда будут отображаться так, как они были определены. Например

a { color: red }

получится rgb(255,0,0); при запросе с помощью .css().

Ответ 2

Вы можете использовать isvisible и скрыты также

if ( $('#test').is(':visible')){

Ответ 3

Я думаю, что единственный способ проверить это - сравнить с фактическими значениями:

function displayHidden(elem) {
    return $(elem).css('display') === 'hidden';
}