filter 메서드

filter 메서드는 세트에서 특정 선택자를 만족하는 요소만 남깁니다.

구문

선택자로 필터링:

javascript.filter(선택자);

매개변수는 DOM 요소나 jQuery 객체일 수도 있습니다:

javascript.filter(DOM 요소 또는 jQuery 객체);

함수를 사용하여 요소를 필터링할 수도 있습니다. 이 함수는 선택된 각 요소에 대해 개별적으로 호출됩니다. 함수가 true를 반환하면 현재 요소는 최종 결과에 포함되고, false를 반환하면 포함되지 않습니다. 함수 내에서 요소 자체는 this 변수로, 세트 내에서의 순서 번호는 index 변수로 사용할 수 있습니다:

javascript.filter(function(index, elem))

예제

모든 단락을 찾고, prepend를 사용하여 각 시작 부분에 텍스트 '!'를 추가한 다음, filter를 사용하여 찾은 요소 중 www 클래스를 가진 단락만 얻고, append를 사용하여 각 끝 부분에 텍스트 '?'를 추가해 봅시다:

html<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
javascript$('p').prepend('!').filter('.www').append('?');

HTML 코드는 다음과 같이 됩니다:

html<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>

예제

함수를 사용하여 strong 태그를 포함하는 모든 단락을 찾고 텍스트 '!!!'를 추가해 봅시다:

html<p><strong>text</strong></p>
<p><strong>text</strong></p>
<p>text</p>
<p>text</p>
javascript$('p').filter(function() {
  return $('strong', this).length === 1;
}).html('!!!');

HTML 코드는 다음과 같이 됩니다:

html<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>

함께 보기

  • 메서드 find,
    이미 찾은 요소 중에서 선택자로 요소를 찾습니다
  • 메서드 has,
    자손을 기준으로 선택된 요소 세트를 필터링합니다