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.});스크립트 소스에서 접근순서를보자
- $(‘p’)?: p엘리먼트에 접근
- .filter(‘#test’)?: #test라는 아이디에 접근
- .end()?: 한차례앞의 것에 접근한다 따라서 p에 접근하게 된다
- 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
