如何使jQuery包含不区分大小写的内容,包括jQuery 1.8+?我试图不敏感地使用“包含”一词。我尝试在下面的堆栈溢出问题上使用该解决方案,但没有成功:是否有不区分大小写的jQuery:包含选择器?为了方便起见,在这里复制解决方案:jQuery.extend(
jQuery.expr[':'], {
Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" });以下是错误:Error: q is not a functionSource File: /js/jquery-1.4.js?ver=1.4Line: 81这里是我使用它的地方: $('input.preset').keyup(function() {
$(this).next().find("li").removeClass("bold");
var theMatch = $(this).val();
if (theMatch.length > 1){
theMatch = "li:Contains('" + theMatch + "')";
$(this).next().find(theMatch).addClass("bold");
}
});在相同的场景中,我使用了区分大小写的“Content”,没有任何错误。有人有什么想法吗?我会很感激的。
3 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
jQuery.expr[':'].Contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };
jQuery.expr[":"].Contains = jQuery.expr.createPseudo(function(arg) { return function( elem ) { return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0; };});
你可以在这里测试
HUX布斯
TA贡献1876条经验 获得超6个赞
:Contains
:contains
jQuery.expr[':'].Contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };jQuery.expr[':'].contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };
慕勒3428872
TA贡献1848条经验 获得超6个赞
$.expr[':'].containsIgnoreCase = function (n, i, m) { return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };
:contains
- 3 回答
- 0 关注
- 321 浏览
添加回答
举报
0/150
提交
取消