each() 함수를 아는지 모르겠다. 일단 jQuery의 API를 찾아 보시면 도움이 될 거라 생각한다.
이건 한마디로 말해서, ‘모든 애들에게 적용하라!’ 라는 함수다. 어려울 수 있으니 예제를 함께 보자.
오늘 내가 직면한 문제였는데,
<p class="소제목">나는야 소제목이다</p>
를
<h2>나는야 소제목이다</h2>
로 모두 바꿔야 했다. javascript를 이용해서 말이다. 추가로, 저런 소제목의 개수는 약 100개라고 생각하자.
효과적인 방법은 each() 함수를 사용하는 것이다.
$('p.소제목').each(function(){ //class가 소제목인 p 전부에 아래 함수를 적용한다. //일단 text만 뽑아낸다. var text=$(this).text(); //현재 통과중인 객체($(this))를 '<h2>'+text+'</h2>'로 바꿔치기 $(this).replaceWith('<h2>'+text+'</h2>'); });
뭐, 쉽게 설명하지는 못한 것 같은데, 일단 each() 함수의 쓰임 정도는 간략히 알아볼 수 있었다고 생각한다.
요약하자면 이렇게 기억하면 된다. 객체들 전부에 뭔가 복잡한 함수를 적용하고 싶다면? each() 함수를 떠올려라. 긴 코드가 간단하게 줄어들 것이다. 이상.
댓글 남기기