135

#popupclass のいくつかの段落で動的に埋められるdivがあります.filled-text#popupこれらの段落のいずれかが含まれているかどうかをjQueryに知らせようとしています。

私はこのコードを持っています:

$("#text-field").keydown(function(event) {
    if($('#popup').has('p.filled-text')) {
        console.log("Found");
     }
});

助言がありますか?

4

6 に答える 6

229

検索機能を使用できます。

if($('#popup').find('p.filled-text').length !== 0)
   // Do Stuff
于 2012-05-10T17:23:09.027 に答える
42

hasClass関数があります

if($('#popup p').hasClass('filled-text'))
于 2012-05-10T17:25:52.173 に答える
10

jQueryのchildren関数を使用します。

$("#text-field").keydown(function(event) {
    if($('#popup').children('p.filled-text').length > 0) {
        console.log("Found");
     }
});

$.children('').lengthセレクターに一致する子要素の数を返します。

于 2012-05-10T17:25:52.210 に答える
5

シンプルな方法

if ($('#text-field > p.filled-text').length != 0)
于 2014-05-08T06:20:46.337 に答える
2

同じクラスの div が複数あり、そのクラスしかない div がある場合は、それぞれをチェックする必要があります。

            $('.popup').each(function() {
                if ($(this).find('p.filled-text').length !== 0) {
                    $(this).addClass('this-popup-has-filled-text');
                }
            });
于 2021-10-15T12:59:56.493 に答える
1

それが直接の子である場合、それがより深くネストされている可能性がある場合は、次のように > を削除します

$("#text-field").keydown(function(event) {
    if($('#popup>p.filled-text').length !== 0) {
        console.log("Found");
     }
});
于 2012-05-10T17:24:46.063 に答える