2013-08-27 30 views
6

Làm cách nào để ẩn một div và chỉ hiển thị nó nếu một div khác tồn tại trên một trang? Tôi đoán jquery hoặc js sẽ là con đường để đi ....Chỉ hiển thị phần tử nếu phần tử khác tồn tại

<style type="text/css"> 
.always-here { 
    display:none; 
} 
</style> 

<div class="im-here">This div exists on this particular page!</div> 
<div class="always-here">This div is always here but has the style 
display: none unless a div with the class "im-here" exists.</div> 

Trả lời

7

Đối html hiện hiện tại của bạn, bạn có thể làm

.always-here { 
    display:none; 
} 
.im-here ~ .always-here{ 
    display:block; 
} 

này sẽ chỉ hoạt động nếu .always-here.im-here là anh chị em ruột và .im-here sẽ xuất hiện trước đó.

http://jsfiddle.net/BKYSV/-.im-here hiện
http://jsfiddle.net/BKYSV/1/-.im-here vắng mặt

+0

Chà, không có ý tưởng điều này có thể được giải quyết bằng CSS. Phương pháp này có tương thích với trình duyệt chéo không? – Heather

+0

@Heather xem http://reference.sitepoint.com/css/generalsiblingselector, https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_selectors, https://www.google.tt/ tìm kiếm? q = chung + anh chị em + bộ chọn & oq = chung + anh chị em + bộ chọn & aqs = chrome..69i57j0l3.6681j0 & sourceid = chrome & ie = UTF-8 # fp = 828651ec3b51e1b8 & q = css + chung + anh chị em + bộ chọn + trình duyệt + hỗ trợ – Musa

0

Hãy thử điều này:

if($(".im-here").length) 
$(".always-here").show(); 
1
$(document).ready(function(){ 
    if($(".im-here").length > 0) 
    { 
     $(".always-here").show(); 
    } 
}); 

đây là mã Click Here!

0

có bạn có thể làm điều đó bằng cách sử dụng jquery mã này

$(document).ready(function(){ 
    if($('.im-here').length) 
     $('.always-here').show(); 
}); 

xem example here

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