source

j선택기에 특정 클래스가 있는 요소 제외 쿼리

nicesource 2023. 8. 7. 22:37
반응형

j선택기에 특정 클래스가 있는 요소 제외 쿼리

특정 앵커 태그에 대해 jQuery에서 클릭 이벤트 트리거를 설정하려고 합니다.

특정 클래스가 있는 링크는 무시한 상태에서 새 탭에서 특정 링크를 열고 싶습니다(CMS에서 가져온 클래스이므로 캐치하려는 링크에 클래스를 넣을 수 없음을 묻기 전에).

클래스가 OR인 링크를 제외하고 싶습니다.

시도해 본 결과:

$(".content_box a[class!=button]").click(function (e) {
    e.preventDefault();     
    window.open($(this).attr('href'));
});

하지만 그것은 효과가 없는 것 같습니다, 또한 배제에 포함시키기 위한 OR 문을 어떻게 해야 합니까?

.not() 메서드를 사용할 수 있습니다.

$(".content_box a").not(".button")

또는 :not() 선택기를 사용할 수도 있습니다.

$(".content_box a:not('.button')")

두 접근법 사이에는 다음을 제외하고 거의 차이가 없습니다..not()가독성이 더 높습니다(특히 체인으로 연결된 경우):not()조금 더 빠릅니다.차이점에 대한 자세한 내용은 이 스택 오버플로 답변을 참조하십시오.

이것을 사용합니다.

$(".content_box a:not('.button')")

오늘 도움이 된 정보를 추가하려면 jQuery 객체/this.not() 선택기로 전달할 수도 있습니다.

$(document).ready(function(){
    $(".navitem").click(function(){
        $(".navitem").removeClass("active");
        $(".navitem").not($(this)).addClass("active");
    });
});
.navitem
{
    width: 100px;
    background: red;
    color: white;
    display: inline-block;
    position: relative;
    text-align: center;
}
.navitem.active
{
    background:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="navitem">Home</div>
<div class="navitem">About</div>
<div class="navitem">Pricing</div>

위의 예는 단순화할 수 있지만 다음과 같은 용도를 보여주고자 했습니다.this에서not()선택자

언급URL : https://stackoverflow.com/questions/3015103/jquery-exclude-elements-with-certain-class-in-selector

반응형