filter 메서드
filter 메서드는 세트에서
특정 선택자를 만족하는
요소만 남깁니다.
구문
선택자로 필터링:
.filter(선택자);
매개변수는 DOM 요소나 jQuery 객체일 수도 있습니다:
.filter(DOM 요소 또는 jQuery 객체);
함수를 사용하여 요소를 필터링할 수도 있습니다.
이 함수는 선택된 각 요소에 대해 개별적으로
호출됩니다. 함수가 true를 반환하면 현재 요소는
최종 결과에 포함되고, false를 반환하면
포함되지 않습니다. 함수 내에서 요소 자체는
this 변수로, 세트 내에서의 순서 번호는
index 변수로 사용할 수 있습니다:
.filter(function(index, elem))
예제
모든 단락을 찾고,
prepend를 사용하여
각 시작 부분에 텍스트 '!'를 추가한 다음,
filter를 사용하여 찾은 요소 중
www 클래스를 가진 단락만 얻고,
append를 사용하여
각 끝 부분에 텍스트 '?'를 추가해 봅시다:
<p>text</p>
<p>text</p>
<p class="www">text</p>
<p class="www">text</p>
$('p').prepend('!').filter('.www').append('?');
HTML 코드는 다음과 같이 됩니다:
<p>!text</p>
<p>!text</p>
<p class="www">!text?</p>
<p class="www">!text?</p>
예제
함수를 사용하여
strong 태그를 포함하는
모든 단락을 찾고 텍스트 '!!!'를 추가해 봅시다:
<p><strong>text</strong></p>
<p><strong>text</strong></p>
<p>text</p>
<p>text</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML 코드는 다음과 같이 됩니다:
<p>!!!</p>
<p>!!!</p>
<p>text</p>
<p>text</p>