반응형
jQuery : 복수를 검색하는 선택을 포함합니다.
내가 가지고 가지고 가정하면 :
<li id="1">Mary</li>
<li id="2">John, Mary, Dave</li>
<li id="3">John, Dave, Mary</li>
<li id="4">John</li>
"John"과 "Mary"를 포함하는 모든 <li> 요소를 찾아야한다면 jQuery를 생성 할 수 있습니까?
단일 링크 검색은 검색.
$('li:contains("John")').text()
다음 의사 코드와 같은 것을 찾고 있습니다.
$('li:contains("John")' && 'li:contains("Mary")').text()
감사합니다!
대답
li
Mary 와 John이 모두 포함 된 텍스트 를 만나면 다음을 수행하십시오.
$('li:contains("Mary"):contains("John")')
li
Mary 또는 John이 포함 된 텍스트가있는의 를 수행하십시오.
$('li:contains("Mary"), li:contains("John")')
설명
다음
:contains
과 같이 클래스 선언 인 것처럼 생각하십시오 .class
.
$('li.one.two'). // Find <li>'s with classes of BOTH one AND two
$('li.one, li.two'). // Find <li>'s with a class of EITHER one OR two
다음과 동일합니다 :contains
.
$('li:contains("Mary"):contains("John")'). // Both Mary AND John
$('li:contains("Mary"), li:contains("John")'). // Either Mary OR John
도장
어때
$('li:contains("John"),li:contains("Mary")')
대답
올바른 구문은 다음과 가변합니다. $("li:contains('John'),li:contains('Mary')").css("color","red")
하지만 jQuery가 매우 나쁘게 수행하는 테스트는 알았습니다 (IE6에서는 오래 사용 중입니다). 그래서 저는 저만의 속성 필터를 작성하기로 결정했습니다.
사용 방법은 다음과 가변합니다. $("li:mcontains('John','Mary')").css("color","red")
암호
jQuery.expr[':'].mcontains = function(obj, index, meta, stack){
result = false;
theList = meta[3].split("','");
var contents = (obj.textContent || obj.innerText || jQuery(obj).text() || '')
for (x=0;x<theList.length;x++) {
if (contents.indexOf(theList[x]) >= 0) {
return true;
}
}
return false;
};
간단합니다 :
$("li:contains('John'):contains('Mary')")
참고 URL : https://stackoverflow.com/questions/2416803/jquery-contains-selector-to-search-for-multiple-strings
반응형
'ProgramingTip' 카테고리의 다른 글
ASMX 파일이 JSON을 출력하도록하는 방법 (0) | 2020.11.27 |
---|---|
벡터 또는지도, 어느 것을 사용할까요? (0) | 2020.11.27 |
대신에 바이트로 작동하는 StringIO 대체? (0) | 2020.11.27 |
byte []를 Byte []로 변환하는 방법과 그 반대의 방법은 무엇입니까? (0) | 2020.11.27 |
SonarQube와 SonarLint의 차이점 (0) | 2020.11.27 |