2016-12-10 6 views
0

同じクラス名で異なるdivに表示するデータがあります。各divにはさらに2つのdivがあります。1つの内部divが空の場合のdivを非表示にするJqueryまたはCSS3

<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」を削除します。それでも私は "div3"が空でなく "div1"を表示するかどうかをチェックするために、すべてのdivブロックに対してif文を繰り返し使用しています。

<?php 

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

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

<?php 

} 

?> 

空の「div3」を含む「div1」を削除するには、JqueryコードまたはCSS3コードを1回書くことは可能ですか?

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

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

}); 

Simple fiddleeach

+0

if($( "div3")。text()== "") –

+0

@u_mulder「div2」と「div2」を含む約35の「div1」を持っているので、 div3 ".... 35個のdivすべてに対して一度書き込むことは可能ですか???? – Ashish

+0

それであなたはjqueryのあなたの理解は非常に低いと思います。 –

答えて

1

フィルターすべて.div3のdivとは、空のテキストを持っているものを削除します。

+0

私のために働いています...しかし、それは隠されません"div3"に空白だけを含む "div1"。 – Ashish

+0

'$ .trim'関数を追加します。更新されたコードを参照してください。 –

+0

ありがとう....完璧に働いています.... – Ashish

関連する問題