2
<div class="testDivClass">
    Some text!
    <div>
        <span class="testSpanClass">
        </span>
    </div>
</div>

true または null ではないオブジェクト (基本的にはテストするブール値) を返したい - これは、(クラス testDivClass の) この div に「何らかのテキスト!」が含まれていることを示しています。クラス「testSpanClass」のスパンがあります(「ルート」divの直接の子ではないことに注意してください)。

ご提案いただきありがとうございます。

これまでのところ、私は持っています:

$("div.testDivClass:contains('Some text!')");

それは問題ありませんが、ここからどこへ行くべきかわかりません。使用し.children(".testSpanClass")ても何も得られません。

編集: 私は .has() を試しました - それも何も返しません。

4

2 に答える 2

5
$('.testDivClass').is(function() {
    return $(this).text().indexOf("Some text!") > -1 && $(this).find("span.testSpanClass").length
});

デモ: http://jsfiddle.net/Y2KVp/

セレクター付き:

$('.testDivClass').is(':contains("Some text!"):has(span.testSpanClass)');

セレクターのデモ: http://jsfiddle.net/Y2KVp/2/

于 2012-07-30T10:16:58.983 に答える
1

その方法を示すためにフィドルを作成しました...

!!$("div.testDivClass:contains('Some text!')").find(".testSpanClass").length;

2 つの感嘆符は、0 を false に変換し、その他の数値を true に変換します。

于 2012-07-30T10:19:50.403 に答える