web-dev-qa-db-ja.com

Jquery-スタイル表示属性「なし/ブロック」を取得する方法

スタイルを取得する方法はありますか: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は動的に挿入されるため、常に表示されるfalseとして表示されるため、使用できません:

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

を使用して結果「display:block」を取得できます:

$j('div.contextualError.ckgcellphone').attr('style')

値「block」または「none」のみを取得する方法はありますか、これを行うためのより良い/より効率的な方法はありますか?

77
Murtaza Mandvi

あなたが試すことができます:

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

Jquery 1.6.2を使用している場合は、コーディングするだけです

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

例えば:

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

これは正解です

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

次の行を使用して、表示ブロックであるかどうかを確認することもできます

$('.deal_details').is(':visible')
32
Seetpal Singh

私の答え

/**
 * 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');
    }
}
3
user2487028
//animated show/hide

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