JQuery - Jak uzyskać atrybut wyświetlania stylu „none / block”


81

Czy istnieje sposób na uzyskanie atrybutu style: display, który miałby wartość none lub 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>

Wiem, że istnieje sposób, aby dowiedzieć się, czy DIV jest ukryty, czy nie, ale w moim przypadku ten element div jest dynamicznie wstrzykiwany, więc zawsze pokazuje się jako widoczne fałsz, więc nie mogę tego użyć:

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

Jestem w stanie uzyskać wynik "display: block" używając:

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

Czy istnieje sposób, aby uzyskać tylko wartość „blok” lub „brak”, czy też jest lepszy / wydajniejszy sposób, aby to zrobić?

Odpowiedzi:


125

Możesz spróbować:

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

77

Jeśli używasz jquery 1.6.2, potrzebujesz tylko kodu

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

na przykład:

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

35

to jest poprawna odpowiedź

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

Możesz również użyć następującego wiersza, aby sprawdzić, czy jest to blok wyświetlania, czy żaden

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

2
Skoro próbujesz sprawdzić równość, czy nie powinieneś używać „===” zamiast „==”?
gmeben

7
Sprawdzanie w plikach .css („display”) i .is („: visible”) to nie to samo. Jeśli element nadrzędny ma „display: none”, dadzą różne wyniki. Bądź ostrożny.
xecute

3

Moja odpowiedź

/**
 * 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);
      }
  }
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.