2009-12-09 7 views
70

Stili elde etmenin bir yolu var mı: görüntüleme özniteliği, yok veya engellenir mi?Jquery - "none/block" stil gösterme özniteliği nasıl elde edilir

DIV:

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

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

</div> 

Ben her zaman gösterir böylece div gizli ya da değil ama benim durumumda bu div dinamik olarak enjekte olup olmadığını öğrenmek için bir yol olduğunu biliyoruz bu nedenle yapamam false ile görünür o kullanın:

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

Ben sonuç almak mümkün: kullanarak "ekran bloğu":

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

t mı Burada sadece "blok" veya "none" değerini elde etmenin bir yolu var mı, yoksa bunu yapmanın daha iyi/daha verimli bir yolu var mı?

cevap

106

Sen deneyebilirsiniz: Eğer sadece ihtiyaç 1.6.2 jquery kullanarak ediyorsanız

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

örneğin

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

kodlamak için:

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

bu doğru yanıtı

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

Ayrıca bu görüntü bloğu veya hiçbiri

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

'==' yerine '===' kullanıyor musunuz? – gmeben

+2

.css ("display") ve .is (": visible") ile kontrol etmek aynı şey değildir. Ebeveyn öğesi "göster: yok" ise, farklı sonuçlar verecektir. Dikkatli ol. – xecute

2

Benim cevabım ise bulmak için aşağıdaki satırı kullanabilirsiniz Eğer bir eşitlik kontrolü yapmak gerekir çalışıyorsanız yana

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

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