[英]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.