【发布时间】:2015-06-05 00:15:16
【问题描述】:
<div id="CntWrapper_CntMain_ssm_ctl00_ctl01" class="matrix">
<div class="CollapseGroup1"></div>
<div class="row">
<div class="cell_24"> </div>
</div>
<div class="row">
<div class="cell_24">
<span class="label-passive">text</span>
</div>
</div>
<div class="CollapseGroupClose1"></div>
</div>
我正在尝试操作上面的 HTML 代码示例。这是实际 HTML 代码的简化版本。
<script type="text/javascript">
$(document).ready(function() {
$('.CollapseGroup1').nextUntil('.CollapseGroupClose1',').css( "display", "none" );
});
</script>
此脚本隐藏了两个名为 collapsegroup 和 collapsegroupclose 的 div 之间的所有类 'row' 的 div。
但是,当这些行中的任何一行包含至少一个具有“label-passive”类的跨度时,我只想隐藏具有“行”类的 div 元素。
<script type="text/javascript">
$(document).ready(function() {
$('.CollapseGroup1').nextUntil('.CollapseGroupClose1','div[.label-passive]').css( "display", "none" );
});
</script>
当存在带有 label-passive 的 span 时,只是简单地隐藏任何行 div 是不够的。在我不想隐藏的这些折叠组 div 之外,可能会有带有“标签被动”跨度类的行。
我想隐藏两个collapsegroup标签之间的所有行,即使其中只有一行实际上有一个子span元素,类为“label-passive”。
【问题讨论】:
-
你的问题太长了,没有人会费心阅读它.....考虑把它减半并提供一个演示页面
-
尤其是删掉已经在工作的东西。我们应该能够从一开始就快速了解您的问题是什么
-
我已经重写了这个东西。用例确实需要一些解释,所以还有一些文字,但我可能已经将问题缩短了一半。我希望这使它更具可读性。
标签: javascript jquery html