2011-12-13 11 views
34

này được div tôiKiểm tra div được ẩn sử dụng jquery

<div id="car2" style="display:none;"></div> 

Sau đó, tôi có một nút Hiển thị đó sẽ hiển thị div khi bạn bấm:

$("show").click(function() { 
    $("$car2").show(); 
}); 

Vì vậy, ngay bây giờ tôi muốn kiểm tra xem div #car2 vẫn bị ẩn trước khi gửi biểu mẫu:

if($('#car2').is(':hidden')) { 
    alert('car 2 is hidden'); 
} 

Bây giờ, đây là vấn đề. Mặc dù div #car2 đã hiển thị, tôi vẫn nhận được thông báo cảnh báo có nghĩa là jQuery giả định div #car2 vẫn bị ẩn.

Phiên bản jQuery của tôi là 1.7.

Cảm ơn.

EDIT:

Như jasper nói, mã của tôi là chính xác và có thể chạy qua demo này.

Điều tôi nghi ngờ có xung đột với jquery form to wizard plugin mà tôi đang sử dụng với biểu mẫu của mình. Bất cứ ai có bất cứ ý tưởng để giải quyết điều này?

+1

http://jsfiddle.net/YjP4K/2/ Mã của bạn không làm việc khi đơn giản như vậy có lẽ bạn có một lỗi ở một nơi khác? – Jasper

+0

Xem thêm [Kiểm tra xem phần tử có bị ẩn \ [bởi jquery \]] không (https://stackoverflow.com/questions/178325/checking-if-an-element-is-hidden) –

Trả lời

61

Bạn có thể kiểm tra các thuộc tính CSS display:

if ($('#car').css('display') == 'none') { 
    alert('Car 2 is hidden'); 
} 

Đây là một bản demo: http://jsfiddle.net/YjP4K/

+0

mặc dù câu trả lời khác là đúng, nhưng bằng cách nào đó tôi chỉ có thể sử dụng phương pháp này theo hình thức của tôi vì vậy tôi sẽ chọn điều này như một câu trả lời. cảm ơn. – cyberfly

+1

'$ ('# xe'). ((Ẩn)' nên hoạt động. Đây cũng là một giải pháp sạch hơn so với hiện tại. Kiểm tra thêm tại https://api.jquery.com/hidden-selector/ – akshay

+1

@akshay yeah để tạo thêm ý nghĩa ngữ nghĩa. Tôi nghĩ rằng có những trường hợp cạnh mà làm kiểm tra của riêng bạn có ý nghĩa bởi vì có điều kiện xung quanh các yếu tố (s) mà vít với ': hidden' và': visible' selectors. – Jasper

4

Hãy thử kiểm tra cho: tài sản hữu hình để thay thế.

if($('#car2').not(':visible')) 
{ 
    alert('car 2 is hidden');  
} 
28

Hãy thử:

if(!$('#car2').is(':visible')) 
{ 
    alert('car 2 is hidden');  
} 
+1

Nên được đánh dấu là câu trả lời – Thamaraiselvam

2

Bạn có để ý typo của bạn, thay vì $car2#car2?

Dù sao, :hidden dường như hoạt động như mong đợi, hãy thử nó here.

8

Hãy thử

if($('#car2').is(':hidden')) 
{ 
    alert('car 2 is hidden');  
} 
1

Bạn có thể sử dụng,

if (!$("#car-2").is(':visible')) 
{ 
     alert('car 2 is hidden'); 
}