jQuery 선택기에서 $ (this)를 어떻게 제외 할 수 있습니까?
-
22-07-2019 - |
문제
나는 다음과 같은 것이 있습니다.
<div class="content">
<a href="#">A</a>
</div>
<div class="content">
<a href="#">B</a>
</div>
<div class="content">
<a href="#">C</a>
</div>
이 링크 중 하나를 클릭하면 클릭하지 않은 링크에서 .hide () 함수를 수행하려고합니다. jQuery는 다음과 같은 것을 이해하고 있습니다. 선택기는 아니지만이 경우 사용하는 방법을 알 수는 없습니다. 사용을 사용하여 링크를 선택해야합니다 $(".content a")
나는 같은 일을하고 싶다
$(".content a").click(function()
{
$(".content a:not(this)").hide("slow");
});
그러나이 경우 선택기를 제대로 사용하는 방법을 알 수 없습니다.
해결책
사용해보십시오 not()
방법 대신 :not()
선택자.
$(".content a").click(function() {
$(".content a").not(this).hide("slow");
});
다른 팁
jQuery를 사용할 수도 있습니다 .siblings()
방법:
HTML
<div class="content">
<a href="#">A</a>
<a href="#">B</a>
<a href="#">C</a>
</div>
자바 스크립트
$(".content").on('click', 'a', function(e) {
e.preventDefault();
$(this).siblings().hide('slow');
});
작업 데모 : http://jsfiddle.net/wtm5f/
"Siblings ()"메소드를 사용하고 ".Content"선택기를 실행하는 것을 방지해야합니다.
HTML
<div class="content">
<a href="#">A</a>
</div>
<div class="content">
<a href="#">B</a>
</div>
<div class="content">
<a href="#">C</a>
</div>
CSS
.content {
background-color:red;
margin:10px;
}
.content.other {
background-color:yellow;
}
자바 스크립트
$(".content a").click(function() {
var current = $(this).parent();
current.removeClass('other')
.siblings()
.addClass('other');
});
여기를 봐: http://jsfiddle.net/3bzlv/1/
제휴하지 않습니다 StackOverflow