Jquery- "none / block"스타일 표시 속성을 얻는 방법


81

style : display 속성을 가져 오는 방법이 없습니까?

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

"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.