2017-08-23 7 views
0

divが空の場合は、Jqueryでチェックする必要があります。beforeまたは:after、beforeまたはafterを持つdivでこれを行います。 :前または:divが空であるかどうかをチェックする前または:after

$(function(){ 
 
    if($('#content').not(':empty')) { 
 
    console.log('Yes content'); 
 
    } else {  
 
    console.log('No content'); 
 
    } 
 
});
#content:empty { 
 
    position: relative; 
 
    display: block; 
 
    min-height: 200px; 
 
    background-color: rgb(240,240,240); 
 
    text-align: center; 
 
} 
 

 
#content:empty:before { 
 
    content: 'NO IMAGE'; 
 
    position: absolute; 
 
    font-size: 25px; 
 
    left: 0; 
 
    right: 0; 
 
    top: 50%; 
 
    transform: translateY(-50%); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="content"></div>

+0

作品[予想と同じように](HTTPS:/ /jsfiddle.net/pfa4vct7/1/ ) 私のために? jQueryは ':before'のような疑似要素にアクセスできません。 – adeneo

+0

私は、DIV #contentに何か他のコンテンツがあるかどうかを検出しようとしています。空でない場合は、Jqueryで質問するたびに、コンテンツがないことを示しています。 –

+0

コンテンツがないためです':before'は内容としてカウントされません**実際の要素の前**ですか? – adeneo

答えて

1

後あなたは、次を使用してHTMLやテキストをチェックすることもできます

$(function(){ 
 
    if($('#content').html() || $('#content').text()){ 
 
    console.log('Yes content'); 
 
    } else {  
 
    console.log('No content'); 
 
    } 
 
});
#content:empty { 
 
    position: relative; 
 
    display: block; 
 
    min-height: 200px; 
 
    background-color: rgb(240,240,240); 
 
    text-align: center; 
 
} 
 

 
#content:empty:before { 
 
    content: 'NO IMAGE'; 
 
    position: absolute; 
 
    font-size: 25px; 
 
    left: 0; 
 
    right: 0; 
 
    top: 50%; 
 
    transform: translateY(-50%); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="content"></div>

例:空の

:テキスト付き

<div id="content"></div> 

:HTMLで

<div id="content">Hello World</div> 

<div id="content"> 
    <span class="child"></span> 
</div> 
+0

OPが使用しているコードとまったく同じではありませんか? – adeneo

+0

DIVがCSSを使って空であるのに@ Samuel Cookで使用する前に、私は記号を使用することができます! Jqueryの例では、if(!$( '#content')。html()||!$( '#content')。text()){}); DIVが空でないかどうかを検証することに優先権を与えることに興味がありますJqueryはCSS –

+0

@adeneoと同じように動作していないようですが、物理的なhtmlやテキストをチェックするのは疑似:空の状態。 –

関連する問題