[英]Hide div inside list item if another div is empty
我在每個<li>
元素中有幾個不同類的<div>
元素。 如果其中一個具有testsimonial-content
類別的testsimonial-content
空,那么如何在同一個<li>
中也隱藏class testsimonial-heading
另一個div
? 它不應該影響其他<li>
。
這是我的HTML代碼:
<ul>
<li>
<div class="testsimonial-heading">Testimonial</div>
<div class="testsimonial-content">Hello this is a testimonial</div>
</li>
<li>
<div class="testsimonial-heading">Testimonial</div> <!--This div should be hidden-->
<div class="testsimonial-content"></div>
</li>
<li>
<div class="testsimonial-heading">Testimonial</div>
<div class="testsimonial-content">Hello this is a testimonial</div>
</li>
</ul>
$('#ul li').each(function() { var div = $(this).find('.testsimonial-content'); console.log(div.text().length); if (div.text().length === 0) { div.siblings('.testsimonial-heading').hide(); } })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul id='ul'> <li> <div class="testsimonial-heading">Testimonial</div> <div class="testsimonial-content">Hello this is a testimonial</div> </li> <li> <div class="testsimonial-heading">Testimonial1232131</div> <!--This div should be hidden--> <div class="testsimonial-content"></div> <div class="testsimonial-">Other div</div> </li> <li> <div class="testsimonial-heading">Testimonial</div> <div class="testsimonial-content">Hello this is a testimonial</div> </li> </ul>
使用.find()
查找類testsimonial-content
使用.length
獲得其長度,如果為零,則使用.siblings().hide()
隱藏其同級.siblings().hide()
就這么簡單:
$(document).ready(function() {
$(".testsimonial-content:empty").parent().hide();
// if content is empty - then hide
});
如果您需要隱藏li
或者如果div
的任何一個為空,則為this
$(document).ready(function() {
$(".testsimonial-content:empty, .testsimonial-heading:empty").parent().hide();
// if content OR heading is empty - then hide
});
這是工作中的JSFiddle演示 。
從OP更新:
抱歉,我實際上在每個li內有2個以上的div,您可以使其隱藏類.testimonial-heading嗎? 什么是為此更新的javascript? 而不是隱藏父級。
干得好:
$(document).ready(function() {
$(".testsimonial-content:empty").siblings(".testsimonial-heading").hide();
// if content is empty - then hide heading in this li only
});
更新了JSFiddle 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.