在 jQuery 中,您可以运行一个选择器,其中每个元素都通过您定义的函数运行,如下所示(完全人为的示例):
jQuery.expr[':'].AllOrNothing= function(a,i,m){
// a is the thing to match, m[3] is the input
if(m[3] === "true"){
return true;
} else {
return false;
}
};
然后你可以像这样使用它:
$("div:AllOrNothing(" + true + ")"); //returns all divs
$("div:AllOrNothing(" + false + ")"); //returns nothing
是否可以传递匿名函数而不是调用jQuery.expr[:].Name=
?
编辑
我正在设想一些可链接的东西,如下所示:
$("div").filterByFunction(function(a,i,m){ ... })