以下の HTML を考えると、jQuery を使用して、クラス "foo" のスパンを持つすべてのリスト項目と一致させようとしています。そのスパンには、テキスト "relevant" が含まれている必要があります。
<ul>
<li>Some text <span class="foo">relevant</span></li>
<li>Some more text <span class="foo">not</span> <span class="bar">relevant</span></li>
<li>Even more <span class="foo">not so either</span></li>
<li>Blablabla <span class="foo">relevant</span> <span class="bar">blabla</span></li>
<li>No foo here <span class="bar">relevant</span></li>
</ul>
クラスが「バー」のいくつかのスパンもあり、それには「関連」というテキストも含まれていることに注意してください。これは含まれるべきではありません。
セレクターでの私の試み:
ul li:has(.foo:contains('relevant"))
これは動作しません。次の例では、何かを選択しますが、リスト内に複数のスパンがあることを考慮していません。
ul li:has(span:contains('relevant"))
で遊ぶことができる実際の例を次に示します。作業バージョンでは、そのリストの最初と 4 番目の要素のみを選択する必要があります。