Как проверить, имеет ли элемент определенный стиль в jQuery - PullRequest
2 голосов
/ 27 декабря 2011

У меня есть элемент:

  #credit-card{:style => user.has_stripe_customer_id? ? "display:none" : "display:block"}
       .input
           = text_field_tag :credit_card_number, params[:credit_card_number], :class => "field"
       .actions
         = f.submit("Buy Gift")

Как мне написать селектор jQuery, чтобы проверить, находится ли # кредитная карта в "display: none" или нет? Я пытался

if($('#credit-card').hasClass('display:none')) {
            $('input[type=submit]').attr('disabled', true);
        } 

Но это не работает.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 27 декабря 2011

Вы можете использовать псевдоселектор :hidden (если он достаточно конкретен):

if($('#credit-card').is(":hidden")) { .. }

Или, если это недостаточно конкретно, вы можете проверить CSS displayсвойство с использованием .css:

if ($('#credit-card').css('display') === 'none') { .. }
2 голосов
/ 27 декабря 2011
if($('#credit-card').hasClass('display:none'))  "display:none" is NOT a class!!! display_none is a class
...