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 =)
我使用下面的代码取回包含特定字符串的所有元素:
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 =)