あなたの経験では、div 内の要素の存在を検出する最良の方法は何ですか?
私は現在これを使用しています:
if (($('.parentDiv').width()) > 0){
//Do something
}
もっとエレガントな方法が必要です。
あなたの経験では、div 内の要素の存在を検出する最良の方法は何ですか?
私は現在これを使用しています:
if (($('.parentDiv').width()) > 0){
//Do something
}
もっとエレガントな方法が必要です。
空の場合、テキストノードすらありません。
if ($('.parentDiv').contents().length){
//Do stuff
}
また:
$('.parentDiv:not(:empty)') // which is nice...
.contents
ドキュメント:
説明:テキストノードやコメントノードなど、一致した要素のセット内の各要素の子を取得します。
テキストノードではなく要素のみを気にする場合:
if ($('.parentDiv').children().length){
//Do stuff
}
おそらくあなたが望むものではありませんが、要件について少なくとも少し混乱していることを考えると、要素、テキストなど、コンテナ内に何かがあるかどうかを検討できます。
空の div があるとします。
<div class="parentDiv"></div>
次に$(".parentDiv").html().length == 0
、その空を示します。
div が空でない場合:
<div class="parentDiv"> </div>
<div class="parentDiv"><div></div></div>
次に$(".parentDiv").html().length
、その占有率を示します (これらのシナリオでは、それぞれ 1 と 11 を返します)。
要素、または特定の要素のみをチェックしたい場合は、それ$(".parentDiv").children()
が最適です。
要素のみに関心がある (テキスト ノードではない) と仮定すると、要素に があるかどうかを確認できますchildren
。
if($('.parentDiv').children().length) {
//Do stuff
}
children()
関数を使用する
$('.parentDiv').children()
if ( $( '.parentDiv' ).children().length > 0 )
{
// do something
}