我正在寻找一个解决方案,在jQuery中有一个不区分大小写的:contains
选择器版本。我在Stack Overflow上找到了这两个帖子:
Is there a case insensitive jQuery :contains selector?
How do I make jQuery Contains case insensitive, including jQuery 1.8+?
所以解决方案基本上是这样的:
jQuery.expr[':'].Contains = function(a,i,m){
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;
};
我唯一的问题是如何使用它?我在哪里指定这段代码?
我在我的标题中加载jQuery,之后我加载了我的script.js文件,我已经声明了我的DOM ready函数。我将这段代码放在DOM就绪函数之外,但它不会改变:contains
选择器的行为。
答案 0 :(得分:3)
如果你在加载jquery后放入这段代码,你将有一个包含和一个(不区分大小写)icontains选择器:
$.extend($.expr[':'], {
// case insensitive version of :contains
icontains: function(a,i,m){
return (a.textContent||a.innerText||jQuery(a).text()||"").
toLowerCase().indexOf(m[3].toLowerCase())>=0;
}
});