다음과 같이 HTML 마크 업의 모든 div를 선택 (jQuery 사용) 할 수 있습니다.
$('div')
그러나 나는 위의 선택에서 특정 div
(가령 id="myid"
) 을 제외하고 싶습니다 .
Jquery 함수를 사용하여 어떻게 할 수 있습니까?
답변
단순한:
$('div').not('#myid');
를 사용 .not()
하면에서 반환 한 집합에서 선택한 선택자와 일치하는 요소가 제거됩니다 $('div')
.
:not()
선택기를 사용할 수도 있습니다 .
$('div:not(#myid)');
두 선택기 모두 동일한 작업을 수행하지만 jQuery의 선택기 엔진 인 Sizzle이이를 네이티브 호출 로 최적화 할 수 있기 때문에 :not()
더 빠릅니다.querySelectorAll()
.
답변
var els = toArray(document.getElementsByTagName("div"));
els.splice(els.indexOf(document.getElementById("someId"), 1);
구식 방식으로 할 수 있습니다. 너무 간단한 jQuery가 필요하지 않습니다.
전문가 팁 :
DOM 요소의 집합이 너무 좋아 사용, 단지 배열 toArray
A의 방법을 NodeList
.
세트에 요소를 추가하는 것은
set.push.apply(set, arrOfElements);
세트에서 요소를 제거하는 것은
set.splice(set.indexOf(el), 1)
한 번에 여러 요소를 쉽게 제거 할 수 없습니다.