Jquery - Як отримати атрибут відображення стилю “none / block”


81

Чи є спосіб отримати атрибут style: display, який не міг би мати або блокувати?

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 чи ні, але в моєму випадку цей div динамічно вводиться, тому він завжди відображається як видимий false, тому я не можу це використовувати:

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

Я можу отримати результат "display: block", використовуючи:

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

Чи є спосіб отримати лише значення "блок" або "ні", чи є кращий / ефективніший спосіб зробити це?

Відповіді:


125

Ви можете спробувати:

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

77

Якщо ви використовуєте jquery 1.6.2, вам потрібно лише кодувати

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

наприклад:

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

35

це правильна відповідь

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

Ви також можете скористатися наступним рядком, щоб дізнатись, це блок відображення чи ні

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

2
Оскільки ви намагаєтесь перевірити рівність, чи не слід використовувати "===" замість "=="?
gmeben

7
Перевірка .css ("display") та .is (": visible") - це не одне і те ж. Якщо батьківський елемент має "display: none", вони дадуть різні результати. Будь обережний.
xecute

3

Моя відповідь

/**
 * 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);
      }
  }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.