Jquery - Cách lấy thuộc tính hiển thị kiểu “none / block”


81

Có cách nào để lấy thuộc tính style: display sẽ không có hoặc không có khối nào không?

DIV:

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

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

</div>

Tôi biết rằng có một cách để tìm hiểu xem DIV có bị ẩn hay không nhưng trong trường hợp của tôi, div này được chèn động nên nó luôn hiển thị là có thể nhìn thấy sai, do đó tôi không thể sử dụng điều đó:

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

Tôi có thể nhận được kết quả "display: block" bằng cách sử dụng:

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

Có cách nào để chỉ nhận giá trị "khối" hoặc "không" hoặc có cách nào tốt hơn / hiệu quả hơn để làm điều này không?

Câu trả lời:


125

Bạn có thể thử:

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

77

Nếu bạn đang sử dụng jquery 1.6.2, bạn chỉ cần viết mã

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

ví dụ:

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

35

Đây là câu trả lời chính xác

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

Bạn cũng có thể sử dụng dòng sau để tìm xem nó có phải là khối hiển thị hay không

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

2
Vì bạn đang cố gắng kiểm tra tính bình đẳng, bạn có nên sử dụng '===' thay vì '==' không?
gmeben

7
Kiểm tra với .css ("display") và .is (": display") không giống nhau. Nếu phần tử cha có "display: none", chúng sẽ cho các kết quả khác nhau. Hãy cẩn thận.
xecute

3

Câu trả lời của tôi

/**
 * 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);
      }
  }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.