2010-03-18 77 views
1
 1. jQuery.expr[':'].aFilter = 
     function(elem, index, match){ 

       return true; // Return true/false as per need 

     }; 

     $('div.red').filter(':aFilter').doSomething(); 

我想通过一些自定义参数“jQuery.expr [‘:’]。aFilter”功能,是有可能做到这一点参数传递给自定义过滤器在jQuery的FN

+0

你到底在问什么? – karim79 2010-03-18 18:17:00

+0

我想将一些自定义参数传递给“jQuery.expr [':']。aFilter”函数,是否可以做到这一点 – 2010-03-18 18:25:27

回答

2

在你的情况,如果有人did $('div.red').filter(':aFilter(textHere)')你可以在你的函数中使用match[3]来按你想要的textHere字符串进行操作。

下面是我使用的情况下,insentitive一个例子包含搜索:

jQuery.expr[':'].Contains = function(a, i, m) { 
    return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; 
}; 

的使用方法是:$(":Contains(Text To Match)");
在这种情况下m[3](“文本相匹配”)是通过PARAM我计较。

You can find a full list of the parameters in this answer.

+0

我一直在寻找这样的东西, 我认为我们不能传递一个对象来过滤fn第三参与者 这个代码仍然解决了我的问题thanx。 – 2010-03-18 18:53:48

相关问题