Jquery - "none / block" stil görüntüleme özniteliğini alma


81

Hiçbiri veya bloğu olmayan style: display niteliğini almanın bir yolu var mı?

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'nin gizli olup olmadığını öğrenmenin bir yolu olduğunu biliyorum, ancak benim durumumda bu div dinamik olarak enjekte edildi, bu nedenle her zaman görünür yanlış olarak göründüğü için bunu kullanamam:

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

Şunu kullanarak "display: block" sonucunu alabiliyorum:

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

Sadece "blok" veya "yok" değerini almanın bir yolu var mı yoksa bunu yapmanın daha iyi / daha verimli bir yolu var mı?

Yanıtlar:


125

Deneyebilirsin:

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

77

Jquery 1.6.2 kullanıyorsanız, yalnızca kodlamanız gerekir

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

Örneğin:

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

35

bu doğru cevap

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

Ekran bloğu olup olmadığını bulmak için aşağıdaki satırı da kullanabilirsiniz.

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

2
Bir eşitlik kontrolü yapmaya çalıştığınıza göre, '==' yerine '===' kullanmanız gerekmez mi?
gmeben

7
.Css ("display") ve .is (": visible") ile kontrol etmek aynı şeyler değildir. Ana öğede "display: none" varsa, farklı sonuçlar verirler. Dikkatli ol.
xecute

3

Cevabım

/**
 * 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);
      }
  }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.