jQuery
[jQuery] $.unique() - DOM 요소 배열에서 중복요소 제거
힘없는염소
2017. 5. 1. 14:35
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <script src="lib/jquery/2.2.4/jquery-2.2.4.min.js"></script> </head> <body> <p></p> <p></p> <p class='duplicate'>--</p> <p class='duplicate'>--</p> <p class='duplicate'>--</p> <p></p> <p></p> <div></div> <div></div> <div class="dup"></div> <div class="dup"></div> <div class="dup"></div> <div></div> <div></div> <script> var divs = $("div").get(); // DOM 요소 배열로 변환 console.log(divs); console.log($.isArray(divs)); // true divs = divs.concat($(".dup").get()); // 중복 요소를 배열에 추가 하였다. console.log(divs); divs = jQuery.unique(divs); // 중복 요소 제거 // unique 함수는 DOM 요소 배열로 변환 후 사용할 수 있다. console.log(divs); /* // clone요소 중복제거 테스트 var divs = $("div"); console.log(divs); var dup = $(".dup").clone(); // 일치하는 요소 집합의 깊은 복사(deep copy)를 한다. divs = divs.add(dup); // 확장집합에 clone요소 추가 // add 메서드는 새로운 확장집햅을 반환한다. console.log(divs); divs = jQuery.unique(divs.get()); // 중복 요소 제거 console.log(divs); // clone도 중복제거가 될줄 알았는데??? 안되네??? 왜냐면?? 깊은 복사(deep copy)가 되었기에.. */ </script> </body> </html> |
반응형