当前位置: 首页 > 知识库问答 >
问题:

jQuery在具有特定类时隐藏两个div之间的div行

谈渊
2023-03-14
<div id="CntWrapper_CntMain_ssm_ctl00_ctl01" class="matrix">
  <div class="CollapseGroup1"></div>
  <div class="row">
    <div class="cell_24">&nbsp;</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>

这个脚本隐藏了所有的div,类'row'位于两个div之间,这两个div被称为崩溃组和崩溃组。

但是,我只想在任何一行包含至少一个类为“label passive”的span时,隐藏类为“Row”的div元素。

<script type="text/javascript">
  $(document).ready(function() {
    $('.CollapseGroup1').nextUntil('.CollapseGroupClose1','div[.label-passive]').css( "display", "none" );
  });
</script>

当存在一个带有被动标签的范围时,仅仅隐藏任何行div是不够的。在这些collapsegroup div之外,可能有一些行包含“label passive”span类,我不想隐藏这些行。

我想隐藏两个collapsegroup标记之间的所有行,即使其中只有一行实际上有一个子span元素的类为“label passive”。

共有3个答案

蔚俊人
2023-03-14

请尝试最近的()

$('span.label-passive').closest('div.row').hide();
$(function() {
  $('span.label-passive').closest('div.row').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="CntWrapper_CntMain_ssm_ctl00_ctl01" class="matrix">
  <div class="CollapseGroup1"></div>
  <div class="row">
    <div class="cell_24">&nbsp;</div>
  </div>
  <div class="row">
    <div class="cell_24">
      <span class="label-passive">text</span>
    </div>
  </div>
  <div class="CollapseGroupClose1"></div>
</div>
公羊浩阔
2023-03-14

您可以简单地尝试以下方法:

$('div.row:has(.label-passive)').hide();
长孙阳焱
2023-03-14

所以,在阅读了你的问题一次之后。。两次特里斯。。我想你需要这样做:(专业提示:尽量让你的问题尽可能简单,如果必须的话,使用伪代码)

$('.label-passive').parents('._row').hide();

如果这不完全是你想要的,请留下评论,我会努力改进答案。

编辑:OP改进了他的问题,改进了答案:

也许这将进一步帮助您:

$('.CollapseGroup1').each(function() {
    if ($(this).find(".label-passive").length != 0)
        $(this).hide();
});
 类似资料:
  • 我有一个幻灯片,有一个高度设置为自动,所以任何高度图像都可以显示。在幻灯片中,我有两个箭头,它们被包装在一个具有.center类的div中。箭头是在一个固定的位置,所以当滚动箭头会跟随。当您在div.center上滚动时,分配给div=“center”的函数将显示。 我遇到的问题是,当我滚动过幻灯片放映时,箭头仍然存在。但当我滚动通过我的幻灯片放映div时,箭头是隐藏的。 我如何设置我的脚本,当我

  • 问题内容: 我想以特定的间隔(10秒)显示div,然后显示下一个div,然后继续并重复相同的操作。 ** 序列 : **在第10秒显示div1时,隐藏其他div,在5秒间隔后显示div 2,并隐藏其他div,在5秒后,显示div 3,并隐藏其他div, 并每10秒重复一次。 代码如下: 问题答案: 此处的 工作示例 -在URL中添加/ edit 以与代码一起播放您只需要使用JavaScript)函

  • 例如: 如果父div具有类为“not_available”的内部div,则需要隐藏“快速订购”按钮 尝试了一些JavaScript: 另一个JavaScript示例: 但是它或者根本不起作用,或者对所有具有class.quckorder-btn的div都起作用。只需要在一个div中运行函数,该div中没有一个div具有类“not_available” 请求任何帮助。谢谢

  • 问题内容: 我正在使用此代码: 和这个 HTML : 问题是我的链接位于内,单击时它们不再起作用。 问题答案: 遇到同样的问题,想出了这个简单的解决方案。它甚至可以递归工作:

  • 问题内容: 这是该问题的后续问题:具有焦点的AngularJS输入会杀死list的ng-repeat过滤器 基本上,我的代码是使用AngularJS在右侧弹出一个div(抽屉)以过滤事物列表。大多数情况下使用此功能时,UI会被阻止,因此单击该阻止div会关闭抽屉。但是在某些情况下,我们不会阻止用户界面,需要允许用户在抽屉外部单击以取消搜索或选择页面上的其他内容。 我最初的想法是在抽屉打开时附加一个

  • 问题内容: 在隐藏其父级Div的同时如何显示子Div?能做到吗? 我的代码如下: 问题答案: 我认为这是不可能的。 您可以使用javascript将元素拉出,或复制元素然后显示。 在jQuery中,您可以复制一个元素 然后附加到任何适当的可见元素。