programing

"All but not" jQuery 선택기

codeshow 2023. 10. 14. 10:45
반응형

"All but not" jQuery 선택기

HTML 마크업의 모든 div를 다음과 같이 선택(jQuery 사용)할 수 있습니다.

$('div')

하지만 나는 특정한 것을 제외하고 싶습니다.div(가진 것id="myid"위의 선택으로부터.

Jquery 기능을 사용해서 어떻게 해야 합니까?

단순:

$('div').not('#myid');

를 사용하면 해당 셀렉터에 의해 일치하는 요소가 반환된 집합에서 제거됩니다.$('div').

셀렉터를 사용할 수도 있습니다.

$('div:not(#myid)');

두 셀렉터 모두 동일한 작업을 수행하지만, jQuery의 셀렉터 엔진인 Sizzle이 네이티브로 최적화할 수 있기 때문에 더 빠릅니다..querySelectorAll()불러.

var els = toArray(document.getElementsByTagName("div"));
els.splice(els.indexOf(document.getElementById("someId"), 1);

그냥 옛날 방식으로 하면 되잖아요.jQuery 같은 간단한 것은 필요 없습니다.

프로 팁:

돔 요소 집합은 단지 배열일 뿐이므로 즐겨찾기를 사용합니다.toArray에 대한 방법NodeList.

집합에 요소를 추가하는 것은 단지

set.push.apply(set, arrOfElements);

집합에서 요소를 제거하는 것은

set.splice(set.indexOf(el), 1)

여러 요소를 한 번에 쉽게 제거할 수 없습니다 :(

$("div:not(#myid)")

[doc]

아니면

$("div").not("#myid")

[doc]

하나의 ID를 제외한 모든 ID를 선택하는 주요 방법입니다.

데모는 여기서 보실 수 있습니다.

   var elements =  $('div').not('#myid');

여기에는 ID가 'myid'인 디브를 제외한 모든 디브가 포함됩니다.

$('div:not(#myid)');

이것이 당신에게 필요한 것이라고 생각합니다.

그렇게 하면 됩니다.

$('div:not("#myid")')

당신은 사용합니다..notjQuery 라이브러리의 속성:

$('div').not('#myDiv').css('background-color', '#000000');

여기서 실제로 보세요.div #myDiv는 흰색입니다.

언급URL : https://stackoverflow.com/questions/7938259/all-but-not-jquery-selector

반응형