Javascript 显示分区>;仅当DIV>;表>;TR是可见的
我有一个这样的布局Javascript 显示分区>;仅当DIV>;表>;TR是可见的,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个这样的布局 <div class="categoery"> <span>categorie title</span> <table> <tr class="item show">....</tr> <tr class="item show">....</tr> <tr class="item none">....<
<div class="categoery">
<span>categorie title</span>
<table>
<tr class="item show">....</tr>
<tr class="item show">....</tr>
<tr class="item none">....</tr>
</table>
</div>
<div class="categoery">
<span>categorie title</span>
<table>
<tr class="item none">....</tr>
<tr class="item none">....</tr>
<tr class="item none">....</tr>
</table>
</div>
$('.categoery').each(function(k,v) {
if($(this).children('table').find("tr").css("display")=='none') {
// alternate
//if($(this).children('table').find("tr").hasClass("none")) {
$(this).children('span').hide();
}
});
分类标题
....
....
....
分类标题
....
....
....
现在我想说的是以下内容。第一个div是类别标题和两行
现在在第二部分,我想把整个部分完全隐藏起来
CSS没有类似的父seelctor:div
我知道我可以使用的另一个东西是来自jQuery的hasClass,但我想知道是否有一个纯CSS方法
==
可能类似于将div设置为height:0,但是具有上边距的块元素(tr)将强制div展开
希望这是有意义的。你可以这样做
<div class="categoery">
<span>categorie title</span>
<table>
<tr class="item show">....</tr>
<tr class="item show">....</tr>
<tr class="item none">....</tr>
</table>
</div>
<div class="categoery">
<span>categorie title</span>
<table>
<tr class="item none">....</tr>
<tr class="item none">....</tr>
<tr class="item none">....</tr>
</table>
</div>
$('.categoery').each(function(k,v) {
if($(this).children('table').find("tr").css("display")=='none') {
// alternate
//if($(this).children('table').find("tr").hasClass("none")) {
$(this).children('span').hide();
}
});
我甚至还创造了一个。我希望这就是要求的。
$('tr.none')。最近('categoriy')。css('display','none')代码>隐藏/显示规则是什么还不是很清楚。下面将隐藏类别,并仅显示其中包含类为“show”的TR的类别
可以使用css删除hide(),但规则不是很清楚是的,这就是我现在使用的代码。但我使用的是大型数据集,而这段代码(each/find)需要大量处理。我正在寻找一个顶级css解决方案,它不必每次都循环遍历整个数据集。应该在问题上加上这个。但是谢谢你的代码,如果绝对没有更好的代码,我会使用它。@SaifBechan如果是这样,请缓存find@SaifBechan在数据集循环中加入一些逻辑,以便向容器和行添加类