jQuery : 특정 ID를 제외하고 주어진 클래스의 모든 요소를 ​​선택하십시오.


146

이것은 아마도 매우 간단합니다.

thisClassid가있는 곳을 제외하고 주어진 클래스의 모든 요소를 ​​선택하고 싶습니다 thisId.

즉,-/ 빼기에서 제거를 의미하는 것과 동등한 것 :

$(".thisClass"-"#thisId").doAction();

답변:


290

: not 선택기를 사용하십시오 .

$(".thisclass:not(#thisid)").doAction();

여러 개의 ID 또는 선택 기가있는 경우 쉼표 구분 기호를 사용하십시오.

(".thisclass:not(#thisid,#thatid)").doAction();


3
둘 이상의 클래스를 제외하려면 어떻게합니까? THX
SoulMagnet

13
문서에서 : All selectors are accepted inside :not(), for example: :not(div a) and :not(div,a)쉼표로 구분 된 선택기를 사용하여 여러 번 수행(".thisclass:not(#thisid,#thatid)").doAction();
Chase

다음과 같이 작은 따옴표로 작업했습니다-$ ( ". thisclass : not ( '# thisid')"). doAction ();
Muhammad Raja

또는 클래스 이름을 제외한 특정 클래스 이름을 가진 모든 하위 요소에 바인딩하려는 경우 다음과 같이 수행 할 수 있습니다. $ ( '. thisclass : not (#id) .otherclass'). doAction ()
dalmate

$ ( '# some'). notimportant, $ ( '# another'). dosomethingelse와 같은 표준 코드가 있고 동적으로 주어진 특정 ID에 대한 실행을 피하고 싶다면 어떻게해야합니까?
Botea Florin

29

또는 .not () 메소드를 사용하십시오.

https://api.jquery.com/not/

$(".thisClass").not("#thisId").doAction();

3
.not()선택자가 아닙니다. 기능입니다. 그러나 :not()다른 답변과 같은 선택 기도 있습니다 .
WoIIe

7

다음 예제와 같이 .not 함수를 사용하여 정확한 id, 특정 단어를 포함하는 id, 단어로 시작하는 id 등을 가진 항목을 제거 할 수 있습니다. http://www.w3schools.com/jquery/jquery_ref_selectors jQuery 선택기에 대한 자세한 내용은 .asp

정확한 ID로 무시 :

 $(".thisClass").not('[id="thisId"]').doAction();

"Id"라는 단어가 포함 된 ID는 무시하십시오.

$(".thisClass").not('[id*="Id"]').doAction();

"my"로 시작하는 ID는 무시하십시오.

$(".thisClass").not('[id^="my"]').doAction();

6

누군가가 그것을 찾고 있다면 JS (ES6) 답변을 던질 것입니다.

Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => {
    doSomething(el);
}

업데이트 (원래 답변을 게시했을 때 가능했을 수도 있지만 지금은 이것을 추가하십시오) :

document.querySelectorAll(".myClass:not(#myId)").forEach((el,i) => {
    doSomething(el);
});

이것은 Array.from사용법을 제거 합니다.

document.querySelectorAll를 반환합니다 NodeList. https://developer.mozilla.org/en-US/docs/Web/API/NodeList
에서 반복하는 방법에 대해 자세히 알아 보려면 여기를 읽으십시오.



2

.not()전체 요소를 선택하는 방법을 사용하는 것도 옵션입니다.

해당 요소로 직접 다른 작업을 수행하려는 경우이 방법이 유용 할 수 있습니다.

$(".thisClass").not($("#thisId")[0].doAnotherAction()).doAction();
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.