2011-11-29 56 views
7

Triết lý bong bóng giống như kiểu bong bóng trích dẫn/lời nói có phần điều khiển bên trong, richHtmlField cho phép người dùng nhập nội dung trong khi chỉnh sửa trang nhưng nếu người dùng chọn để trống , sẽ không có nội dung trong div vì vậy chỉ có bong bóng sẽ hiển thị trong trang mà sẽ trông buồn cười vì vậy tôi muốn ẩn toàn bộ div khi không có mục nhập người dùng hoặc về cơ bản div là trống rỗng ?? Làm thế nào để bạn làm điều này trong jquery?Ẩn div nếu nội dung trống rỗng

<div class="philosophy-bubble"> 
<PublishingWebControls:RichHtmlField FieldName="carephilosophy" runat="server"></PublishingWebControls:RichHtmlField> 
</div> 

Trả lời

19

Sử dụng jQuery :empty selector:

$('.philosophy-bubble:empty').hide(); 

Dưới đây là a working fiddle.

Alternative

Bạn cũng có thể sử dụng chức năng filter() để tìm tất cả sản phẩm nào của div và hide:

//All divs 
$('div').filter(function() { 
     return $.trim($(this).text()) === '' 
}).hide() 

//div's with a certain class 
$('.philosophy-bubble').filter(function() { 
     return $.trim($(this).text()) === '' 
}).hide() 

//div with a specific ID 
$('#YourDivID').filter(function() { 
     return $.trim($(this).text()) === '' 
}).hide() 

..etc.

Lưu ý: bộ chọn :empty sẽ có hiệu suất cao hơn. See jsPerf.

+0

DIV của tôi chỉ trống nếu một DIV khác với một số lớp nhất định bị thiếu: http://stackoverflow.com/questions/26845161/how-to-hide-a-div-if-content-are-missing. Làm thế nào tôi có thể áp dụng tương tự cho mã của tôi? Cảm ơn. – Si8

-1
var myDiv = $('#myDiv'); 

if (myDiv.text() == '') 
{ 
    myDiv.hide(); 
} 
Các vấn đề liên quan