Jquery - So erhalten Sie das Stilanzeigeattribut "none / block"


81

Gibt es eine Möglichkeit, das Attribut style: display zu erhalten, das entweder none oder block hat?

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 gibt herauszufinden, ob der DIV versteckt ist oder nicht, aber in meinem Fall wird dieser Div dynamisch injiziert, sodass er immer als sichtbar falsch angezeigt wird. Daher kann ich das nicht verwenden:

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

Ich kann das Ergebnis "display: block" erhalten mit:

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

Gibt es eine Möglichkeit, nur den Wert "block" oder "none" zu erhalten, oder gibt es eine bessere / effizientere Möglichkeit, dies zu tun?

Antworten:


125

Du könntest es versuchen:

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

77

Wenn Sie jquery 1.6.2 verwenden, müssen Sie nur codieren

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

beispielsweise:

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

34

Das ist die richtige Antwort

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

Sie können auch die folgende Zeile verwenden, um festzustellen, ob es sich um einen Anzeigeblock handelt oder nicht

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

2
Sollten Sie nicht '===' anstelle von '==' verwenden, da Sie versuchen, eine Gleichheitsprüfung durchzuführen?
Gmeben

7
Das Überprüfen mit .css ("Anzeige") und .is (": sichtbar") ist nicht dasselbe. Wenn das übergeordnete Element "display: none" hat, werden unterschiedliche Ergebnisse angezeigt. Achtung.
Xecute

3

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

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);
      }
  }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.