2011-11-08 80 views
1

我需要找到任何<a>標籤,它的href與'pdf'包含'test'結束。CSS選擇器包含一些

這樣;

<a href="/abc/tes.pdf">link</a> 

我所知道的只是第一個條件,

jQuery('a[href$=".pdf"]') 

教我休息。

謝謝。

回答

4
jQuery('a[href!="test"][href$=".pdf"]'); 

或者更好:

jQuery('a[href$=".pdf"]').not('[href="test"]'); 

而這裏的原因:

因爲[!名稱= 「值」]是一個jQuery的擴展,而不是部分的CSS 規範,使用[name!=「value」]的查詢不能利用 本機DOM querySelectorAll() 方法提供的性能提升。爲了在現代瀏覽器中獲得更好的性能,請使用 $(「your-pure-css-selector」)。not('[name =「value」]')。

編輯:「精益求精」的可能不正確這裏,[值是$ =「名稱」]也不會被CSS2純選擇,但jQuery的文檔沒有提到這一點。這裏需要一些額外的研究...

編輯2:它看起來像我沒有想到這一點。你可能想要的是:

jQuery('a[href$=".pdf"]').not('a[href*="test"]'); 

其內容爲:選擇具有href屬性以「.PDF」結尾,但做選擇具有‘測試’作爲一個子隨時隨地hrefa元素都a元素屬性。

http://api.jquery.com/category/selectors/

+1

+1回答,解釋和正確讀取的問題(我,顯然,沒有...)。而糾正我的答案會把它變成你的,這會有點多餘。 –

+0

@大衛,這不會讓我的答案正確。查看編輯。 PS。你寫道,你的配置文件中的js和css相當不錯,或許你能幫助我? :)無論如何感謝+1。 – Ernest