jQuery不区分大小写包含selector - 1.8.1

时间:2012-09-13 10:54:47

标签: jquery jquery-selectors contains

我在实施这个时遇到了麻烦。从其他问题我有以下片段:

jQuery.expr[":"].Contains = jQuery.expr.createPseudo(function(arg) {
    return function( elem ) {
        return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
    };
});

但我收到错误:TypeError: jQuery.expr.createPseudo is not a function

有什么想法吗?此外,这个片段应该放在哪里?文件准备好了?

谢谢,

戴夫

1 个答案:

答案 0 :(得分:6)

请勿使用createPseudo

jQuery.expr[":"].Contains = function(obj,index,meta) {
    return jQuery(obj).text().toUpperCase().indexOf(meta[3].toUpperCase()) >= 0;
};

来自here
你把它放在哪里并不重要 - 你只是定义一个函数,而不是访问DOM - 所以它 不在document.ready里面。只需确保在定义此过滤器之前加载jQuery并在使用之前定义它。希望这有帮助!