2011-01-01 3 views
1

jQuery에서 :contains 선택기의 대/소문자를 구분하지 않는 버전을 사용하는 솔루션을 찾고 있습니다. 그래서 기본적으로 솔루션이입니다jQuery.expr 코드는 어디에 둘까요?

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를로드하고 있으며 나중에 DOM 준비 함수가 선언 된 script.js 파일을로드합니다. 이 코드는 DOM 준비 함수 밖에 놓았지만 :contains 셀렉터의 동작에는 아무런 변화가 없습니다.

답변

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; 
     } 
    }); 
관련 문제