2016-11-07 17 views
18

Tôi đang sử dụng JS làm cách thay đổi nội dung của SPA mà tôi đang tạo. Khi tôi bấm một nút để thay đổi nội dung những thay đổi html từ này:JQuery: nếu div hiển thị

<div id="selectDiv" style="display: none;"> 

này:

<div id="selectDiv" style> 

Bây giờ một phần của SPA của tôi có một div có chứa một số hộp kiểm, mỗi đại diện cho một div, và vì vậy khi tôi nhấn nút gửi, div tiếp theo sẽ được hiển thị sẽ là mục đầu tiên trong danh sách hộp kiểm đã được chọn.

Tôi tự hỏi liệu có cách nào trong JQuery cho mã "hầu như phát hiện" mà div hiện có thể nhìn thấy hay không. một cái gì đó như thế này:

if($('#selectDiv').isVisible()){ 
    //JS code associated with this div. 
} 

Bất kỳ đề xuất nào?

+0

Bạn không thể lộn xộn với chức năng '.hasClass' để làm điều gì đó như thế này? Kiểm tra xem một phần tử có một lớp nhất định và sau đó đi từ đó? –

+0

'if (document.getElementById (" selectDiv "). Style.display! ==" none ") {...}' –

+0

Bạn có ý nghĩa gì bởi "gần như phát hiện"? Bạn có thể sử dụng $ elem.is (": visible") để xác định phần tử có hiển thị hay không! – Gacci

Trả lời

28

Bạn có thể sử dụng .is(':visible')

Chọn tất cả các yếu tố mà có thể nhìn thấy.

Ví dụ:

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

Ngoài ra, bạn có thể nhận được các div đó là có thể nhìn thấy bằng cách:

$('div:visible').callYourFunction(); 

Sống dụ:

console.log($('#selectDiv').is(':visible')); 
 
console.log($('#visibleDiv').is(':visible'));
#selectDiv { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="selectDiv"></div> 
 
<div id="visibleDiv"></div>

+1

Xin chào - không tranh cãi về tính chính xác của câu trả lời này, nhưng vui lòng xem xét đề xuất hoặc bỏ phiếu cho một câu hỏi cho những câu hỏi như thế này. Đã có một số câu trả lời khá toàn diện tồn tại trên Stack Overflow mà chúng ta có thể chỉ ra câu hỏi này để thay thế. – Serlite

+0

Tôi có thể làm điều gì đó như thế này không? $ (document) .ready (function() { if ($ ('# selectDiv'). (': visible')) { // Mã JS được liên kết với div này. } }); –

+0

Có, xem cập nhật của tôi. –

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