2010-01-17 35 views
18

tôi đang cố gắng cố gắng tìm hiểu xem một màn div style là khối sau đó làm điều gì đó đây là một ví dụdiv hiển thị nếu khối jquery

này chỉ là một đoán tôi đang tryng để làm điều đó trong jquery

if("#toshow":"display" == "block"){ 

}else{ 

} 

Trả lời

39

Vì vậy, bạn muốn phân biệt giữa display: blockdisplay: none? Nếu vậy, bạn tốt hơn có thể sử dụng chức năng is() kết hợp với :visible chọn cho việc này:

if ($('#toshow').is(':visible')) { 

} else { 

} 

này hoạt động không phân biệt nếu bạn sử dụng display: block, hoặc display: inline, hoặc display: inline-block.

+3

Tôi không nghĩ rằng việc này nếu một yếu tố phụ huynh là ẩn. –

+0

@Dustin: Tôi không chắc chắn lý do bạn đăng nhận xét như vậy trong khi điều này rất đơn giản để tự thử nghiệm. Nếu bạn đang gặp sự cố với trường hợp cụ thể này, điều đó xảy ra ở nơi khác. – BalusC

+2

Được rồi, hãy đặt nó theo cách này. Điều này sẽ hoạt động nếu bạn muốn biết liệu div hiện có hiển thị hay không. Điều này sẽ không hoạt động nếu bạn muốn biết nếu div là một khối (câu hỏi ban đầu, cũng dẫn tôi đến câu hỏi stackoverflow này từ một tìm kiếm Google.) Trong trường hợp của tôi, tôi muốn biết nếu một div (hiện đang ẩn) sẽ bị ẩn khi tôi tiết lộ div cha mẹ. http://jsfiddle.net/ejVvu/1/ như bạn có thể thấy, câu trả lời này sẽ không hoạt động để kiểm tra xem div có thuộc tính khối (câu hỏi gốc) hay không. Vì vậy, +1 cho giải pháp "tốt hơn" cho hiện tại khả năng hiển thị, nhưng không phải là câu trả lời cho câu hỏi. –

15

Bạn cần sử dụng chức năng css.

if($("#toshow").css("display") == "block"){ 

}else{ 

} 
4

Đừng quên bộ chọn :visible của bạn.

if ($("#toshow:visible").length) { 
    // it's visible 
} else { 
    // it's not visible 
} 
4
$(document).ready(function(){ 
    if ($('#toshow').css('display') == 'block') { 
     // Do something. 
    } else { 
     // Do something else. 
    } 
}); 

Nên làm các trick.

0

Tùy chọn này hoạt động hoàn hảo. Tôi là người Brazil và tôi đã dịch văn bản, nhưng khi tôi thấy mã, tôi lập tức thấy rằng đó là lựa chọn đúng.

function reversoObjeto() { 
 
    $('#janela').fadeToggle(500, function(e) { 
 
    if ($("#janela").css("display") == "none") { 
 
     alert("Janela Apagou!"); 
 
    } else { 
 
     alert("Janela Acendeu!"); 
 
    } 
 
    }) 
 
}

Các vấn đề liên quan