Jquery - 如何获取样式显示属性“none / block”

时间:2009-12-09 17:14:30

标签: jquery coding-style attributes

有没有办法获得样式:显示属性,该属性可以是none还是block?

DIV:

<div id="ctl00_MainContentAreaPlaceHolder_cellPhone_input_msg_container" class="Error cellphone" style="display: block;">

     <p class="cellphone" style="display: block;">Text</p>

</div>

我知道有一种方法可以找出DIV是否隐藏但在我的情况下这个div是动态注入的,所以它总是显示为可见的假,因此我不能使用它:

$j('.Error .cellphone').is(':hidden')

我可以使用:

获得结果“display:block”
$j('div.contextualError.ckgcellphone').attr('style')

有没有办法只获得“阻止”或“无”的值,还是有更好/更有效的方法来做到这一点?

5 个答案:

答案 0 :(得分:117)

你可以尝试:

$j('div.contextualError.ckgcellphone').css('display')

答案 1 :(得分:73)

如果你正在使用jquery 1.6.2,你只需要编码

$('#theid').css('display')

例如:

if($('#theid').css('display') == 'none'){ 
   $('#theid').show('slow'); 
} else { 
   $('#theid').hide('slow'); 
}

答案 2 :(得分:32)

这是正确答案

$('#theid').css('display') == 'none'

您还可以使用以下行查找是否为显示块或无

$('.deal_details').is(':visible')

答案 3 :(得分:3)

我的回答

/**
 * Display form to reply comment
 */
function displayReplyForm(commentId) {
    var replyForm = $('#reply-form-' + commentId);
    if (replyForm.css('display') == 'block') { // Current display
        replyForm.css('display', 'none');
    } else { // Hide reply form
        replyForm.css('display', 'block');
    }
}

答案 4 :(得分:1)

//animated show/hide

function showHide(id) {
      var hidden= ("none" == $( "#".concat(id) ).css("display"));
      if(hidden){
          $( "#".concat(id) ).show(1000);
      }else{
          $("#".concat(id) ).hide(1000);
      }
  }