Masquer tout sauf $ (this) via: pas dans le sélecteur jQuery

Titre avancé, question simple:

Comment puis-je faire ce qui suit dans jQuery (en masquant tout sauf $(this) )?

 $("table tr").click(function() { $("table tr:not(" + $(this) + ")").hide(); // $(this) is only to illustrate my problem $("table tr").show(); }); 

     $(this).siblings().hide(); 

    Traversée / Frères et soeurs

     $("table.tr").not(this).hide(); 

    En passant, je pense que vous voulez dire $("table tr") (avec un espace au lieu d’un point).
    Comme vous l’avez, il sélectionne chaque table qui a une classe de tr (par exemple,

    ), ce qui n’est probablement pas ce que vous voulez.

    Pour plus d’informations, consultez la documentation .

    Si vous souhaitez combiner non () avec d’autres sélecteurs, vous pouvez utiliser add ():

     $('a').click(function(e){ $('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800); }); 

    Cela supprime tous les autres liens, mais celui qui a été cliqué, et supprime également certains identificateurs et classes choisis.

    Je pense qu’une solution peut être la suivante:

     $("table.tr").click(function() { $("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem $(this).show(); }) 

    –EDIT pour Commentaire:

     $("table.tr").click(function() { $("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem $(this).show(); })