Jawaban:
$(this).siblings().hide();
$("table.tr").not(this).hide();
Sebagai tambahan, saya pikir yang Anda maksud $("table tr")
(dengan spasi, bukan titik).
Cara Anda memilikinya, ia memilih setiap tabel yang memiliki kelas tr
(misalnya, <table class="tr">
), yang mungkin bukan yang Anda inginkan.
Untuk informasi lebih lanjut, lihat dokumentasi .
$('tr').not($(this).closest('tr')).hide();
Jika Anda ingin menggabungkan not () dengan beberapa penyeleksi lain, Anda dapat menggunakan add ():
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
Ini akan memudarkan semua tautan lainnya, tetapi tautan yang diklik, dan juga memudarkan beberapa id dan kelas yang dipilih.
Saya pikir solusinya bisa seperti ini:
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
--EDIT untuk Komentar:
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
:not(#" + ...
. Selain itu, ini tidak akan berfungsi kecuali elemen tersebut memiliki ID, yang kemungkinan besar tidak terjadi.