私は次のJSを持っています:
if ( $("#secretContent").children().length == 0) {
$("#seemore").hide();
}
これが私の質問を示すjsFiddleです。ID「secretContent」のdivに子/コンテンツがない場合、ID「seemore」のdivを非表示にするつもりです。
どんな助けでも大歓迎です。前もって感謝します!
私は次のJSを持っています:
if ( $("#secretContent").children().length == 0) {
$("#seemore").hide();
}
これが私の質問を示すjsFiddleです。ID「secretContent」のdivに子/コンテンツがない場合、ID「seemore」のdivを非表示にするつもりです。
どんな助けでも大歓迎です。前もって感謝します!
> 0
だから...あなたはそれをに置き換えたい== 0
と思います。
おそらく「より大きい」を等しいに変更したいでしょう:
if ( $("#secretContent").children().length == 0) {
$("#seemore").hide();
}
Vega が示唆するように、厳密には子 HTML 要素ではなく、テキスト ノードに関心がある場合はcontents()
、代わりにを使用する必要がありchildren
ます。
if ( $("#secretContent").contents().length == 0) {
$("#seemore").hide();
}
両方を示すデモを次に示します。
http://jsfiddle.net/jtbowden/NASQn/
ノート!は、 内のテキストを.contents()
カウントすることに注意してくださいdiv
。
これ:
<div>
</div>
この:
<div> </div>
両方とも空ではないと見なされます。これは、最初に改行があり、2 番目にスペースがあり、どちらもテキスト ノードと見なされるためです。使用時に空と見なされる唯一のもの.contents()
は次のとおりです。
<div></div>
これを考慮したい場合は、no をチェックしてからchildren()
、残りのテキストが空白だけかどうかを確認する必要があります。
if ( $("#secretContent").children().length == 0) {
if( $("#secretContent").text().match(/^\s*$/) ) {
$("#seemore").hide();
}
}
これはトリックを行っていますhttp://jsfiddle.net/chepe263/9Jmug/1/
if ( $("#secretContent").children().length < 1) {
$("#seemore").hide();
}
フィドルでは、secretContent 内に追加の div があるため、コンテンツが表示されます
「> 0」を「== 0」に置き換えます
それでうまくいくはずです!
テキストの内容もチェックしたい場合は、 incase.contents
の代わりに使用する必要があると思います。.children
も に変更し>
ました==
。言ってみて、
if ( $("#secretContent").contents().length == 0) {
$("#seemore").hide();
}