在jquery中将参数传递给自定义过滤器fn

时间:2010-03-18 18:14:53

标签: jquery

     1. jQuery.expr[':'].aFilter =
        function(elem, index, match){

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

        };

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

我想将一些自定义参数传递给“jQuery.expr [':']。aFilter”函数,是否可以这样做

1 个答案:

答案 0 :(得分:2)

如果有人做了$('div.red').filter(':aFilter(textHere)'),您可以在函数中使用match[3]来使用textHere字符串执行您想要的操作。

以下是我用于case-insentitive包含搜索的示例:

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

用法是:$(":Contains(Text To Match)");
在这种情况下,m[3](“要匹配的文本”)是我关心的传递参数。

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