如何使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贡献1843条经验 获得超7个赞
这是我在当前项目中使用的,没有任何问题。看看您在这种格式上是否有更好的运气:
jQuery.expr[':'].Contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };
在jQuery 1.8中,用于此操作的API更改后,jQuery 1.8+版本如下:
jQuery.expr[":"].Contains = jQuery.expr.createPseudo(function(arg) { return function( elem ) { return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0; };});
至尊宝的传说
TA贡献1789条经验 获得超10个赞
: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; };
幕布斯7119047
TA贡献1794条经验 获得超8个赞
我会做这样的事
$.expr[':'].containsIgnoreCase = function (n, i, m) { return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };
然后离开:contains
独自一人.。
演示
那么为什么jQuery在它的库中不支持它呢?!如果有那么简单的话.。
因为你的代码传递火鸡密码了吗?
- 3 回答
- 0 关注
- 500 浏览
添加回答
举报
0/150
提交
取消