2

あなたの経験では、div 内の要素の存在を検出する最良の方法は何ですか?

私は現在これを使用しています:

if (($('.parentDiv').width()) > 0){
    //Do something
}

もっとエレガントな方法が必要です。

4

5 に答える 5

4

空の場合、テキストノードすらありません。

if ($('.parentDiv').contents().length){
    //Do stuff      
}

また:

$('.parentDiv:not(:empty)') // which is nice...

.contents ドキュメント

説明:テキストノードやコメントノードなど、一致した要素のセット内の各要素の子を取得します。

テキストノードではなく要素のみを気にする場合:

if ($('.parentDiv').children().length){
    //Do stuff      
}
于 2012-04-23T14:22:29.650 に答える
3

おそらくあなたが望むものではありませんが、要件について少なくとも少し混乱していることを考えると、要素、テキストなど、コンテナ内に何かがあるかどうかを検討できます。

空の 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()が最適です。

于 2012-04-23T14:29:44.527 に答える
2

要素のみに関心がある (テキスト ノードではない) と仮定すると、要素に があるかどうかを確認できますchildren

if($('.parentDiv').children().length) {
    //Do stuff
}
于 2012-04-23T14:23:20.403 に答える
1

children()関数を使用する

$('.parentDiv').children()
于 2012-04-23T14:23:06.033 に答える
1
if ( $( '.parentDiv' ).children().length > 0 )
{
     // do something
}
于 2012-04-23T14:24:21.277 に答える