Risposte:
$(this).siblings().hide();
$("table.tr").not(this).hide();
Per inciso, penso che tu intenda $("table tr")
(con uno spazio invece di un punto).
Il modo in cui lo hai, seleziona ogni tabella che ha una classe di tr
(es. <table class="tr">
), Che probabilmente non è quello che vuoi.
Per ulteriori informazioni, vedere la documentazione .
$('tr').not($(this).closest('tr')).hide();
Se vuoi combinare not () con altri selettori, puoi usare add ():
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
Questo sbiadirebbe tutti gli altri collegamenti, tranne quello su cui si è fatto clic, e inoltre alcuni ID e classi scelti.
Penso che una soluzione possa essere questa:
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
--EDIT per commento:
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
:not(#" + ...
. Inoltre, questo non funzionerà a meno che l'elemento non abbia un ID, il che è improbabile.