$( 셀렉터 ).each( function(){
코딩 ...
} )
- each 메소드의 기본적인 사용예제입니다.
var text = $( '.css_test [name=ori]' ).val();
$( '.css_test [name=copyed]' ).each( function(){
$( this ).val( text );
} )
- 클래스명이 css_test 인것에서 이름이 copyed 인것을 찾아
- 각각 순서대로 루프를 돌며 뭔가를 실행합니다.
- this 는 셀렉터로 찾아진 것을 의미하며 그 갯수만큼 반복됩니다. for 문을 생각하면 좋습니다.
- 그 결과 빨간네모칸에 입력한 내용이 파란색에 전부입력됩니다.
- 사실 이 예제는 $( '.css_test [name=copyed]' ).val( text ) 로 간단히 바꿀 수도 있습니다.
var text = $( '.css_test [name=ori]' ).val();
$( '.css_test [name=copyed]' ).each( function( n ){
$( this ).val( n + ' : ' + text );
} )
- 인덱스 번호를 전달하는 예제입니다. for 문의 i 를 생각해 보세요.
- 함수에 매개변수를 정해주면 순차적으로 0 부터 증가하는 값이 전달됩니다.
- 예제에서는 n 을 사용했습니다.
$( '.css_test img' ).each( function( n ){
var img = this;
setTimeout( function(){
$( img ).attr( 'src', '//superkts.com/img/huk2.gif' );
}, n * 500);
});
- 간단한 코드로 이미지에 순차적인 처리를 한 예제입니다.
if( n > 2 ) return false;
- 위 처럼 return false 를 사용하여 실행을 멈출 수 있습니다.
- each 메서드를 입력폼의 빈 값 체크에 사용한다면 값이 없을때 경고창을 띄우고 멈추는 용도로 쓰면되겠죠.
- 만약 멈추는 처리를 하지않는다면 빈 값인 모든 입력부분에서 경고창이 계속 뜨게되겠죠.