jQuery : end() 이전으로 돌아가기

jquery end() 메소드

응용 : clone() ?> DOM제거 > end() ?> 수정된 DOM을 얻을수있다.

원문은 여기에서 볼 수있다http://api.jquery.com/end/

.end()
end() 메소드는 현재의 엘리먼트 바로 앞의 엘리먼트를 지칭한다. 다음예제를보자
1.<div>
2.<p>Hm..</p>
3.<p?id="test">this is the test</p>
4.</div>
1.$(document).ready(function() {
2.alert($('p').filter('#test').end().text());
3.});

스크립트 소스에서 접근순서를보자

  1. $(‘p’)?: p엘리먼트에 접근
  2. .filter(‘#test’)?: #test라는 아이디에 접근
  3. .end()?: 한차례앞의 것에 접근한다 따라서 p에 접근하게 된다
  4. alert($(‘p’).filter(‘#test’).end().text()); 소스는 p에리먼트안의 텍스트 Hm..this is the test를 출력시킨다.

체이닝(chaining)

end 함수가 유용한 것은 여러번사용하여 어떤 엘리먼트를 재지정 할 필요없다는 점이다. 다음예제를보자

1.$('form?')
2..filter('.required').text( )
3..end().end()
4..filter('.conditional').text();

$(‘form ‘)에 대해서 end 함수를 사용하여 접근 하는 방법을 짜는 소스를 줄여주고있다. 위의 것이 의미하는 바는 다음과 같다.

1.$('form ')
2..filter('.required').text( );
3.$('form ')???
4..filter('.conditional').text();

아래 소스를 보면은 접근하기 위해 $(‘form ‘)를 두번이나 사용했다.end를 사용하면 이럴 필요없다. 또 여러번 사용가능하기에 바로 앞의것만 아닌 맨 앞의것도 선택할 수 있는것이다. 따라서?.end().end()는$(‘form ‘)?를 지칭한다.

이런 end함수의 기능을?체이닝(chaining)이라하며?jQuery의 장점중 하나이다

 

출처 😕http://siana.tistory.com/entry/jquery-end-%EB%A9%94%EC%86%8C%EB%93%9C

Leave a Reply

Your email address will not be published.