$('.selector:contains("'+ filterText +'")').show()
显示基于字符串“搜索”的基础的div 现在它可以正常使用小写和大写的确切字符大小写
现在我在谷歌上搜索了我发现的许多链接,在几乎所有的网站和事件stackoverflow中,我发现类似的代码,如下面的代码..
jQuery.expr[':'].Contains = function(a,i,m){
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())> -1;
};
所以我对这个a
,i
和m
参数感兴趣
另外,如何将$(".selector":contains('"+ search +"')).show()
与( lowercase or upper case )
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseMvc();
}
区分开来。
使用此代码与我所写的将更好一个
关于使用按键进行自由文本搜索的替代解决方案将是最好的,但是
不使用第三方插件。
我想你们需要参考下面的链接 http://jsfiddle.net/potherca/ympBL/
答案 0 :(得分:1)
有许多方法可以过滤包含给定文本的元素。一种形式如下。
$(".selector:contains('"+ search +"')").show();
但这是区分大小写的。如果您想要不区分大小写的匹配,您可能希望通过扩展jQuery的过滤器表达式来编写自定义过滤器方法,如下所示。
jQuery.extend(jQuery.expr[':'], {
icontains: function(elem, index, arr){
return jQuery(elem).text().toLowerCase().indexOf(arr[3].toLowerCase()) !== -1
}
});
在为任何jQuery表达式创建的方法中,您将获得三个参数。第一个是特定迭代的DOM元素。第二个是DOM元素相对于调用表达式的原始集合的索引。 Last是一个类似于RegExp exec方法调用的数组。完整表达式是第一个数组位置,第二个是冒号和开始paren之间选择器的文本,最后一个是在parens中出现的字符串。
然后将其用作:
$(".selector:icontains('" + search + "')").show();
答案 1 :(得分:0)
我建议您学习使用filter(fn)
,它可以提供对过滤元素过滤方式的大量控制。
$(".selector").filter(function(){
return $(this).toLowerCase().indexOf(search.toLowerCase()) >-1;
}).show();