Odpowiedzi:
$(this).siblings().hide();
$("table.tr").not(this).hide();
Na marginesie, myślę, że masz na myśli $("table tr")
(ze spacją zamiast kropki).
Tak, jak to masz, wybiera każdą tabelę, która ma klasę tr
(np. <table class="tr">
), Która prawdopodobnie nie jest tym, czego chcesz.
Więcej informacji można znaleźć w dokumentacji .
$('tr').not($(this).closest('tr')).hide();
Jeśli chcesz połączyć not () z kilkoma innymi selektorami, możesz użyć add ():
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
Spowoduje to zanik wszystkich innych linków oprócz klikniętego i dodatkowo zaniknie niektórych wybranych identyfikatorów i klas.
Myślę, że rozwiązaniem może być to:
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
- EDYTUJ do komentarza:
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
:not(#" + ...
. To nie zadziała, chyba że element ma identyfikator, co jest mało prawdopodobne.