在哪里放置jQuery.expr代码?

时间:2011-01-01 16:25:35

标签: jquery

我正在寻找一个解决方案,在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选择器的行为。

1 个答案:

答案 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;
        }
    });