动态列表隐藏空元素
Dynamic List Hide Empty Elements
我有这个代码:
<div class="listContainer">
<ul>
<div class="hidediv">
<li class="cacontent">
<ul class="pcontent">
<li class="listp">a</li>
</ul>
</li>
</ul>
<ul>
<div class="hidediv">
<li class="cacontent">
<ul class="pcontent">
<li class="listp">a</li>
</ul>
</li>
</ul>
当什么时候为空时,我需要隐藏div 。
问题是它是一个动态列表,因此所有类和div 都是重复的。所以我在一些代码和隐藏内容方面遇到了问题。
对不起我的英语
谢谢。
更新。。。。很抱歉解释不好,因为
<div class="listContainer"> <- Main Container Product List
<ul>
<div class="hidediv"><p>Title</p> <- Product List Category Title
<li class="cacontent">
<ul class="pcontent">
<li class="listp"></li> <- Product List
</ul>
</li>
</div>
</ul>
</div>
1º 颊部:列出所有类别。
2º 颊部:按类别列出产品。
示例 Bucle :
<div class="listContainer">
<ul>
<div class="hidediv"><p><--- Category 1 ---></p>
<li>
<ul class="pcontent">
</ul>
<li>
</div>
<div class="hidediv"><p><--- Category 2 ---></p>
<li>
<ul class="pcontent">
</ul>
<li>
</div>
<div class="hidediv"><p><--- Category 3 ---></p>
<li>
<ul class="pcontent">
<li class="listp"><div id="hidediv"><p><--- Product 1 ---></p>
<li class="listp"><div id="hidediv"><p><--- Product 2 ---></p>
<li class="listp"><div id="hidediv"><p><--- Product 3 ---></p>
</ul>
<li>
</div>
<div class="hidediv"><p><--- Category 4 ---></p>
<li>
<ul class="pcontent">
</ul>
<li>
</div>
<div class="hidediv"><p><--- Category 5 ---></p>
<li>
<ul class="pcontent">
<li class="listp"><div id="hidediv"><p><--- Product 1 ---></p>
<li class="listp"><div id="hidediv"><p><--- Product 2 ---></p>
<li class="listp"><div id="hidediv"><p><--- Product 3 ---></p>
</ul>
<li>
</div>
<div class="hidediv"><p><--- Category 6 ---></p>
<li>
<ul class="pcontent">
</ul>
<li>
</div>
<ul>
</div>
我需要隐藏列表元素空,
我不明白什么时候什么是空的?
这里的哪一部分是动态的?
如果此部分是动态的:
<ul>
<div id="hidediv">
<li class="cacontent">
<ul class="pcontent">
<li class="listp">a</li>
</ul>
</li>
</ul>
简单的方法是,当你找到(东西?不知道,你没有提到)从你正在创建这些动态列表的代码中是空的。
作为最佳实践,您必须找到一种方法来使您的 html 组件具有唯一 id,那么我建议您为每个div 放置类"任何名称".class名称对于内部的所有div 必须是通用的。
假设你的divs 类是"hidDiv"。你应该纠正一个jQuery:
$(document).ready(function () {
$('.hidDiv').each(function () {
<you can find is div have its children by using $(this).children(), and apply some logic>
});
});
希望这个想法对您有所帮助。
----------------------------更新------------------------------
您的代码仍然不是有效代码,div 和 p 不是 ul 中的有效组件。p 将网格对齐列表组件。
这个怎么样:
<div class="listContainer">
<ul>
<li class="category">
<--- Category 1 --->
<ul class="pcontent">
</ul>
</li>
<li class="category">
<--- Category 2 --->
<ul class="pcontent">
</ul>
</li>
<li class="category">
<--- Category 3 --->
<ul class="pcontent">
<li class="listp"><--- Product 1 ---></li>
<li class="listp"><--- Product 2 ---></li>
<li class="listp"><--- Product 3 ---></li>
</ul>
</li>
<li class="category">
<--- Category 4 --->
<ul class="pcontent">
</ul>
</li>
<li class="category">
<--- Category 5 --->
<ul class="pcontent">
<li class="listp"><--- Product 1 ---></li>
<li class="listp"><--- Product 2 ---></li>
<li class="listp"><--- Product 3 ---></li>
</ul>
</li>
<li class="category">
<--- Category 6 --->
<ul class="pcontent">
</ul>
</li>
</ul>
</div>
并在java脚本文件中添加以下jQuery代码:
$(document).ready(function () {
$(".listContainer").find(".category").each(function (i) {
var plist = $(this).find(".pcontent").find("li");
if (plist.length <= 0) {
$(this).attr("style", "display:none;");
}
});
});
这将为您提供所需的输出。
- 切换一个元素并将其余元素隐藏在同一包装类下
- CSS 动画在元素隐藏时暂停
- 检查元素是否可见,父元素隐藏在DOM中
- 粘性导航元素 - 隐藏然后显示
- show() 在元素隐藏时不起作用
- 通过可见性隐藏和显示元素:隐藏/可见
- 如何从检查页面元素隐藏Blogger中的javascript代码
- 基于页面元素隐藏部分html代码
- 使用jQuery和select元素隐藏动态类
- Jquery Div元素隐藏
- 当指针在父元素上时,Boostrap工具提示会在父元素隐藏之前触发悬停事件
- 聚焦元素隐藏在固定菜单后面
- 将jQuery中的元素隐藏在表中
- 元素.隐藏变量可移植性
- 如何使一个元素隐藏在向下滚动的wordpress
- 当父元素隐藏时,如何使用jquery show()
- 高度:自动计算错误,如果元素隐藏时dom加载,然后显示
- Javascript元素隐藏不起作用
- 使元素隐藏后直接显示完成jquery
- HTML表单元素隐藏的onload javascript