【发布时间】:2010-11-25 06:12:25
【问题描述】:
鉴于下面的 HTML,我正在尝试使用 jQuery 来匹配所有具有类“foo”的跨度的 列表项,并且该跨度应包含文本“相关”。
<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>
请注意,还有一些带有“bar”类的跨度,并且还有文本“相关”,不应包含在内。
我对选择器的尝试:
ul li:has(.foo:contains('relevant"))
这不起作用。下一个示例选择了一些东西,但没有考虑到列表中有多个跨度:
ul li:has(span:contains('relevant"))
Here is a live example that you can play with。在工作版本中,只应选择该列表的第一个和第四个元素。
【问题讨论】:
-
+1 用于在问题中使用 jsbin,节省了我们所有的工作时间。
-
@Kobi - +1 承认你在工作中如此 :)