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

我想返回 true 或一个不为 null 的对象(基本上是一个要测试的布尔值)——这告诉我这个 div(属于 testDivClass 类)确实包含“一些文本!” 并且确实有一个类“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;

两个感叹号将 0 转换为 false,将任何其他数字转换为 true。

于 2012-07-30T10:19:50.403 回答