Mam coś takiego:
<div class="content">
<a href="#">A</a>
</div>
<div class="content">
<a href="#">B</a>
</div>
<div class="content">
<a href="#">C</a>
</div>
Po kliknięciu jednego z tych łączy chcę wykonać funkcję .hide () na linkach, które nie zostały kliknięte. Rozumiem, że jQuery ma: nie selektora, ale nie mogę wymyślić, jak go użyć w tym przypadku, ponieważ konieczne jest wybranie linków za pomocą$(".content a")
Chcę zrobić coś takiego
$(".content a").click(function()
{
$(".content a:not(this)").hide("slow");
});
ale nie mogę wymyślić, jak prawidłowo użyć selektora: w tym przypadku.
jquery
jquery-selectors
this
Logan Serman
źródło
źródło
!$(this)
prostszego kodu.Odpowiedzi:
Spróbuj użyć
not()
metody zamiast:not()
selektora .źródło
$(".content a")
wewnątrzclick
zwrotnego ... na każde kliknięcie ...Możesz użyć
not
funkcji zamiast:not
selektora:źródło
Możesz także użyć
.siblings()
metody jQuery :HTML
JavaScript
Działające demo: http://jsfiddle.net/wTm5f/
źródło
Powinieneś użyć metody „siblings ()” i zapobiegać uruchamianiu selektora „.content a” w kółko tylko w celu zastosowania tego efektu:
HTML
CSS
JavaScript
Zobacz tutaj: http://jsfiddle.net/3bzLV/1/
źródło