jQuery:图标包含带通配符的选择器字符串

jQuery :icontains selector string with wildcard char

我使用下面的代码取回包含特定字符串的所有元素:

specString="a b";
a.schHits=$('*:icontains("'+specString+'")');

html 举例:

<body>
 <label>a b</label>
 <label>a_b</label>
</body>

生成的选定元素:

"<label>a b</label>"

现在问题来了:有没有一种方法可以将 icontains(或速度相等)function/selector 与通配符一起使用?像这个例子:

specString="a*b"; or specString="a%b";
a.schHits=$('*:icontains("'+specString+'")');

html 举例:

<body>
 <label>a b</label>
 <label>a_b</label>
</body>

生成的选定元素:

"<label>a b</label>","<label>a_b</label>"

图标包含,https://gist.github.com/pklauzinski/b6f836f99cfa11100488

$.expr[':'].icontains = $.expr.createPseudo(function(text) {
    return function(e) {
        return $(e).text().toUpperCase().indexOf(text.toUpperCase()) >= 0;
    };
});

这几天一直在寻找方法,希望有人能帮忙。

在 Boldewyn 给我他的评论后我想到了这个并且它有效...

$.expr[":"].xcontains=$.expr.createPseudo(function(arg){
    arg=arg.replace(/([\.\+\?\^$\])/g,'$1').replace(/[*%]/g,'.*');
    var prex=new RegExp(arg,'i');
    return function(elem){
        return jQuery(elem).text().search(prex)>=0;
    };
});

但是如果你们中有人想到 任何 表演周请告诉我...欢迎任何建议

谢谢你 Boldewyn =)