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

如果子DIV是空的,则显示/隐藏表行

微生永春
2023-03-14

我有一个表与多个条目。在每个条目表行之后是一个编辑表行,带有一个跨列单元格,其中有一个动态加载超文本标记语言的DIV。问题是,当呈现这些空表行时,会导致页面上出现大量额外的空白。

我知道我不能直接将HTML动态加载到单元格中,所以我在单元格中有一个DIV,可以将内容加载到其中。

我想在子DIV为空时隐藏任何表行,并在信息被动态加载到子DIV后显示该表行。这个动态加载的信息也可以删除,所以我需要它再次隐藏,一旦它再次是空的。

<table width="100%">
  <tbody>
    <tr>
      <td>A</td>
      <td>B</td>
      <td>C</td>
    </tr>
    <tr style="display: none;">
      <td colspan="3"><div></div></td>
    </tr>
  </tbody>
</table>



$("tr").each(function() {
    if (this.children().filter(":empty").length) {
        this.hide();
    } else {
        this.show();
    }
});

共有2个答案

汝开畅
2023-03-14

您应该使用$(this)而不是this

原因是:$(this)是一个JQuery对象,它允许您在上面调用JQuery方法,如

令狐跃
2023-03-14

>

  • div不是子对象,而是孙子对象,因此children()无法找到divs。请使用上下文或find

    您正在对DOM元素而不是jQuery元素操作hipshow。你需要先在jQuery中包装它。

    因此,每次加载东西时运行此代码:

    //find empty divs and hide it's tr
    $("div:empty").closest('tr').hide();
    
    //find non-empty divs and show it's tr
    $("div:not(:empty)").closest('tr').show();
    

    看,妈妈!没有循环!无每个!:D

  •  类似资料:
    • 我刚刚把我的超文本标记语言转换成WordPress。你可以在这里看到。我选择了每页显示一篇文章。 但是,我注意到我没有'Previous'链接和div。我现在只有'Next'链接和div。 如果我添加了'Previous'链接和div,我如何在我的主页中隐藏它(这里有最新的条目)?我如何在最后一个条目中隐藏“下一个”链接和div,而在最后一个条目页面中只显示“上一个”链接和div? 我想这个主题更

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

    • 我需要显示/隐藏div按钮根据导航-列表div高度溢出,如果列表是溢出然后显示按钮否则隐藏它。 jQuery HTML

    • 问题内容: 对于我正在做的网站,我想加载一个div,然后隐藏另一个,然后有两个按钮可以使用JavaScript在div之间切换视图。 这是我当前的代码 替换div2的第二个功能不起作用,但第一个功能起作用。 问题答案: 如何显示或隐藏元素: 为了显示或隐藏元素,请操纵元素的style属性。在大多数情况下,您可能只想更改元素的属性: 或者,如果您仍然希望元素占用空间(例如,如果您要隐藏表格单元格),

    • 对于我正在做的一个网站,我想加载一个div并隐藏另一个,然后有两个按钮可以使用JavaScript在div之间切换视图。 这是我当前的代码 null null 取代div2的第二个函数不起作用,但第一个是。

    • 我正在尝试隐藏按钮div和显示一个隐藏的div后,一个表单按钮已经被点击,加上延迟提交/重定向。下面是我想出的办法,但似乎没有100%奏效。 null null 任何建议都非常感谢