[英]Hide parent div if list is empty
我有以下...
<div class="validationbox">
<h1>Errors</h1>
<ul class="validationerrors">
<li>Error 1</li>
<li>Error 2</li>
<li>Error 3</li>
</ul>
</div>
錯誤列表項是動態生成的,因此有時沒有,我想在沒有列表項的情況下隱藏'validationbox'div。
我想我應該看的是javascript還是jquery,有人有示例嗎?
在jQuery中,您可以做到以下簡單操作:
$(".validationbox:not(:has(li))").hide();
在純JavaScript中,您需要迭代“ .validationbox”元素並在其中搜索<li>
節點:
var div = document.getElementsByClassName("validationbox");
for (var i = 0, len = div.length; i < len; i++) {
if (!div[i].getElementsByTagName("li").length) {
div[i].style.display = "none";
}
}
$('.validationbox').toggle( $('.validationerrors li').length );
toggle()
接受布爾值作為參數。 如果沒有<li>
元素,則$('.validationerrors li').length
評估結果為false,否則為true,這將顯示錯誤列表。
您可以不使用。
$('div .validationbox').not(':has(li)').hide();
希望對你有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.