2009-12-09 6 views
70

Gibt es eine Möglichkeit, den Stil zu erhalten: Anzeigeattribut, das entweder keine oder Block haben würde?Jquery - Wie bekomme ich das Stilanzeigeattribut "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> 

Ich weiß, dass es eine Möglichkeit, wenn das DIV versteckt, um herauszufinden, ist oder nicht, aber das div in meinem Fall wird dynamisch eingespritzt, so dass es immer so sichtbar somit falsch auftaucht kann ich nicht verwenden, dass:

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

ich bin in der Lage das Ergebnis zu erhalten "display: block" mit:

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

Ist t hier ein Weg, um nur den Wert "Block" oder "None" zu bekommen oder gibt es eine bessere/effizientere Möglichkeit, dies zu tun?

Antwort

106

Sie könnten versuchen:

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

Wenn Sie jquery verwenden 1.6.2 Sie

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

zum Beispiel codieren müssen:

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

ist dies die richtige Antwort

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

Sie können auch folgende Zeile zu finden verwenden, wenn es Anzeigeblock oder keine

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

Da Sie versuchen, eine Gleichheitsprüfung zu tun ist, nicht sollte verwenden Sie '===' anstelle von '=='? – gmeben

+2

Das Überprüfen mit .css ("display") und .is (": visible") ist nicht dasselbe. Wenn das Elternelement "display: none" hat, ergeben sich unterschiedliche Ergebnisse. Achtung. – xecute

2

Meine Antwort

/** 
* 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); 
     } 
    }