17

これは本当に簡単だと思いますが、正しいセレクター構文が見つからないようです。私はこのようなhtmlを持っています:

<div class="parent">
    <h2>Summary</h2>
    <p>... bunch of content ...</p>
</div>
<div class="parent">
    <h2>Statistics</h2>
    <p>... bunch of content ...</p>
</div>
<div class="parent">
    <h2>Outcome</h2>
    <p>... bunch of content ...</p>
</div>

h2 の子に「Statistics」というテキストが含まれる div を見つけたいと考えています。

次のさまざまな組み合わせを試しました。

$(".parent").find("h2[text='Statistics'").parent()

検索が空のセットを返すため、これは機能しません。私がこれを行う場合:

$(".parent").find("h2").text("Statistics").parent()

3 つの要素が返されます。これらはすべて、Statistics を含む div のように見えます。それに first() を追加することもできますが、それはちょっとひどいようです。その 1 つの項目を見つけるための正しい構文は何ですか?

4

3 に答える 3

23

使用する:

$(".parent").find("h2:contains('Statistics')").parent();

これは:contains()セレクターを使用します。

于 2013-05-09T16:44:33.187 に答える
3
$(".parent").find("h2:contains('Statistics')").each(function(){
    var div=$(this).parent();
   // use div as you want
})

ワーキング http://jsfiddle.net/SayjQ/

于 2013-05-09T16:47:00.780 に答える