2017-02-11 2 views
4

私は私のhtmlページ内の次の空のdivがあります空のdivをjQueryのまたはJavaScriptで何を意味し

<div id='onlineaccess' style='width:20em;'> 
</div> 

を私は動的にHTMLでこのdiv要素を更新する必要がありますが、私は前に、私が見る必要がありますそれが空であるかどうか。私はこのために、以下のjQueryとJavascriptのコードを書かれている:

if($('#onlineaccess').is(':empty')) 
{alert('No HTML inside of onlineaccess div');} 
else 
{alert('Some HTML inside of onlineaccess div');} 

が、これは、私はdiv要素が空の場合を探していた結果が得られていません。

if($('#onlineaccess').is(':empty')) 
 
{alert('No HTML inside of onlineaccess div');} 
 
else 
 
{alert('Some HTML inside of onlineaccess div');}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='onlineaccess' style='width:20em;'> 
 
    </div>

これはdiv要素が空の場合でも、2番目のメッセージを警告します。誰も私に説明することができますなぜそれは、どのように私はアラートに最初のメッセージを得ることができますか?

ご協力いただきありがとうございます。

+1

[ ':empty'(https://api.jquery.com/empty-selector/):「_SELECTこのINSEADを使用子を持たないすべての要素(**テキストノード**を含む)_ " – Andreas

+1

' div' *は空ではありません。それは空白を含んでいます。 – David

答えて

2

https://api.jquery.com/empty-selector/

if($('#onlineaccess:empty')) 
 
{alert('No HTML inside of onlineaccess div');} 
 
else 
 
{alert('Some HTML inside of onlineaccess div');}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='onlineaccess' style='width:20em;'> 
 
    </div>

0

あなたはとてもそれは改行です

if($.trim($('#onlineaccess').html()) ==='') 
2

する必要がありますあなたのIDのHTML()コンテンツを取得する必要があります。いくつかのブラウザは、これを他とは違って解釈しているようです。

書き込み、それこの方法:

<div id='onlineaccess' style='width:20em;'></div> 

、あなたの意図した動作を得ます。

関連:How do I check if an HTML element is empty using jQuery?

+1

この質問を重複としてマークするのではなく、回答の一部として重複を投稿しますか? O.o – Andreas

+0

これを行う方法がわかりません。 – mwallisch

0

divが、それは非空のコンテンツとしてカウントする内のテキストノードがあり、実際には空ではありません。

$(document).ready(function() { 
 
    if ($("#onlineaccess").html() === "") { 
 
    console.log('empty'); 
 
    } else { 
 
    console.log('not empty'); 
 
    } 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='onlineaccess' style='width:20em;'> 
 
</div>

1

var check = !$.trim($('#div').html()).length; 
 

 
if (check) { 
 
    console.log('no html'); 
 
} else { 
 
    console.log('some html'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<div id='div' style='width:20em;'> 
 
</div>

関連する問題