Jquery-スタイル表示属性「none / block」を取得する方法


81

スタイルを取得する方法はありますか:なしまたはブロックのいずれかを持つ表示属性?

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」だけを取得する方法はありますか、それともこれを行うためのより良い/より効率的な方法はありますか?

回答:


125

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

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

77

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

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

例えば:

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

35

これが正解です

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

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

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

2
等価性チェックを実行しようとしているので、「==」の代わりに「===」を使用するべきではありませんか?
gmeben 2013

7
.css( "display")と.is( ":visible")でのチェックは同じものではありません。親要素に「display:none」がある場合、異なる結果が得られます。注意してください。
xecute 2014

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');
    }
}

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);
      }
  }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.