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

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

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

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

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



답변

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

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

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

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


답변

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

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

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


답변

다음 예제와 같이 .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();


답변

누군가가 그것을 찾고 있다면 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
에서 반복하는 방법에 대해 자세히 알아 보려면 여기를 읽으십시오.


답변

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

선택기 관련 문서 : http://api.jquery.com/category/selectors/


답변

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

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

$(".thisClass").not($("#thisId")[0].doAnotherAction()).doAction();


답변