鑑於下面的HTML,我試圖使用jQuery來匹配所有列表項目,它們與類「foo」具有跨度,並且該跨度應該包含文本「相關」。jQuery:has(.something:contains())不受支持?
<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"))
Here is a live example that you can play with。在工作版本中,只應該選擇該列表的第一個和第四個元素。
+1在問題中使用jsbin,節省了我們所有的工作時間。 – Kobi 2009-09-03 11:33:57
@Kobi - +1讓你在工作:)所以 – karim79 2009-09-03 11:37:53