Respuestas:
$(this).siblings().hide();
$("table.tr").not(this).hide();
Aparte, creo que te refieres a $("table tr")
(con un espacio en lugar de un punto).
De la forma en que lo tiene, selecciona todas las tablas que tienen una clase de tr
(por ejemplo, <table class="tr">
), que probablemente no sea lo que desea.
Para obtener más información, consulte la documentación .
$('tr').not($(this).closest('tr')).hide();
Si desea combinar not () con otros selectores, puede usar add ():
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
Esto desvanecería todos los demás enlaces, excepto el clic en el que se hizo clic, y además desvanecería algunos identificadores y clases elegidos.
Creo que una solución puede ser esta:
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
--EDIT para comentario:
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
:not(#" + ...
. Además, esto no funcionará a menos que el elemento tenga una identificación, lo cual es poco probable.