【问题标题】:Hide div in case one inner div is empty Jquery or CSS3隐藏 div 以防一个内部 div 为空 Jquery 或 CSS3
【发布时间】:2016-12-10 17:29:38
【问题描述】:

我有一些数据要显示在具有相同类名的不同 div 中...其中每个 div 又有两个 div。

<div class="div1">
    <div class="div2">Abc</div>
    <div class="div3"><?php echo $row['SOME VALUE']; ?></div>
</div>

<div class="div1">
    <div class="div2">Bcd</div>
    <div class="div3"><?php echo $row['SOME VALUE']; ?></div>
</div>

<div class="div1">
    <div class="div2">Cde</div>
    <div class="div3"><?php echo $row['SOME VALUE']; ?></div>
</div>

<div class="div1">
    <div class="div2">def</div>
    <div class="div3"><?php echo $row['SOME VALUE']; ?></div>
</div>

我想删除包含空“div3”的“div1”。我仍然对每个 div 块重复使用 if 语句来检查“div3”是否不为空,然后显示“div1”。

<?php 

    if(($rown['SOME VALUE'])!=''{
?>

<div class="div1">
    <div class="div2">Bcd</div>
    <div class="div3"><?php echo $row['SOME VALUE']; ?></div>
</div>

<?php

}

?>

是否可以编写一次 Jquery 代码或 CSS3 代码来删除包含空“div3”的“div1”。

【问题讨论】:

  • if ($(".div3").text() == "")
  • @u_mulder 我将不得不写大约 35 次,因为我有大约 35 个包含“div2”和“div3”的“div1”......是否可以为所有 35 个 div 写一次... ???
  • 你这么认为那你对jquery的理解是很低的。
  • 为什么不直接在创建它的 php 代码中添加一个条件,这样一开始就不会创建它呢? if(($rown['SOME VALUE']!='')&amp;&amp;($row['SOME VALUE']!='')){

标签: javascript php jquery html css


【解决方案1】:

使用each过滤所有.div3 div,并删除具有空文本的div:

$(".div3").each(function(i, el) {
    if ($(el).text() == "") { 
        $(el).parent().remove();  
    }

    // variant with trimming
    if ($.trim( $(el).text() ) == "") { 
        $(el).parent().remove();  
    }

});

Simple fiddle.

【讨论】:

  • 它为我工作......但它并没有隐藏在“div3”中只包含空格的“div1”。
猜你喜欢
  • 2015-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
相关资源
最近更新 更多