幫你擄獲視覺焦點,專業廣告招牌設計製作 讓公司門面更加亮眼,為你創造商機! | 維修各廠牌冷氣:窗型、分離式、水冷式箱型等保養 冷媒、漏水、壓縮機維修保固。 |
[JQuery] jQuery Selector |
房東:阿凱 發表時間:2012-01-15 |
jQuery的Selector種類繁多,神奇又好用,但在某些情境下還是可能找不到100%符合需求的。像是:contains()可以用來比對"文字內容包含某個字串",但如果我們要的是"文字內容完全等於某個字串"或是"文字內容完全等於某個字串,但不用分大小寫",要怎麼辦? 先假設情境是要找出所有文字內容恰等於"Darkthread"的<a>,例如: <a href="..." mce_href="...">Darkthread</a>,如果用$("a:contains('Darkthread')")則連<a href="..." mce_href="...">Fake Darkthread</a>也會被算進來。 一個簡單且直覺的方法是利用filter函數: 但有更巧妙的做法--Selector不合用? 那就自己寫一個! jQuery在架構上已預留可自行擴充Selector的空間,要擴充很簡單。說到這裡,大家對jQuery的景仰是否已如濤濤江水? 假設我們對:contains()的"包含"特性不滿意,我們打算生出另一個:exact('...')的Selector,限定文字內容要完全相符才算數,只需要一行Code: 接著就可以用$("a:exact('Darkthread')")來找出文字完全吻合Darkthread的<a>了。 回頭來看一下要自訂Selector的設定語法 其中filterName是要自訂的Selector Filter名稱,filterEvalExpression的字串內容則是一個邏輯運算式,用以傳回true或false,而在運算式中,我們有幾個預設變數可用:
有興趣深入研究的人可以參考jquery.js裡的Filter寫法,應該很快就能照著研發出自己想要的Selector。 至於不分大小寫的比對,相信難不倒大家吧: 【2009-01-31更新】jQuery 1.3中無法直接以字串表示過濾邏輯,需寫成$.extend($.expr[":"], { exact: function(a, i, m) { return (a.textContent || a.innerText || jQuery(a).text() || '') == m[3]; } }); 詳細說明 |
|
廣利不動產-新板特區指名度最高、值得您信賴的好房仲 您的托付,廣利用心為您服務 廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲 完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心! |
1 樓住戶:小白 發表時間:2012-01-31 |
姓名: | |||
佈告內容: | |||
其他選項: | |||
|