如何在jQuery中检查元素是否具有特定样式

时间:2011-12-27 05:21:48

标签: jquery ruby-on-rails jquery-selectors

我有一个元素:

  #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选择器来检查#credit-card是否在“display:none”中?我试过了

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

但它不起作用。

谢谢。

2 个答案:

答案 0 :(得分:5)

你可以使用:hidden伪选择器(如果它足够具体):

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

或者,如果这不够具体,您可以使用.css检查CSS display属性:

if ($('#credit-card').css('display') === 'none') { .. }

答案 1 :(得分:2)

if($('#credit-card').hasClass('display:none'))  "display:none" is NOT a class!!! display_none is a class