2016-06-29 2 views
0

Ich bin neu in der Programmierung und ich habe nie zuvor hier gepostet, aber dieses Problem sollte ziemlich einfach sein, aber ich kann es nicht bekommen. Es geht für mich über die Grundlagen hinaus. Ich habe 5 Objekte alle mit der gleichen Div-Klasse. Ich habe mit dem Verstecken von Klassen und so experimentiert, aber mein Ziel ist es, einen Event-Handler und Jquery-Selektoren zu verwenden, um das eine Objekt auszuwählen und den Rest auszublenden oder zu entfernen. Mein Code ist wahrscheinlich ziemlich hässlich, aber ich arbeite auf eine Antwort hin. Sobald das Objekt, das nicht ausgeblendet wurde, erneut angeklickt wird, möchte ich, dass die anderen wieder erscheinen.Jquery Wählen Sie ein Objekt, aber verstecken Sie andere des gleichen Typs

+1

Wenn Sie einen Click-Handler haben, dann würde ich alle mit passender Klasse ausblenden und dann "this" anzeigen. – JonSG

Antwort

1

Check this out:

  • .not(this) wählt jedes andere Element der gemeinsamen Klasse mit Ausnahme von dem ausgewählten
  • .toggle() hält an sichtbar die Elemente Status von versteckt zu ändern und zurück für immer ...

$('.aa').click(function(){ 
 
    $('.aa').not(this).toggle(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="aa">1</div> 
 
<div class="aa">2</div> 
 
<div class="aa">3</div> 
 
<div class="aa">4</div> 
 
<div class="aa">5</div>

+0

Wenn es ein anderes verstecktes Element gibt - es wird angezeigt. – ezhikov

+0

Wenn hypothetisch auch ein verstecktes Element vorhanden wäre und dieselbe Klasse hätte und wir es immer versteckt halten möchten, dann müssten wir ID verwenden -selectors, da es nicht in der Lage ist, es von anderen versteckten-by-click Elementen auf andere Weise zu unterscheiden (außer wir spielen mit versteckten <> display: none usw.), lassen Sie uns die Dinge nicht komplizieren ... –

+0

Sie können alles ausblenden von deinem Selektor und dann zeigen nur $ (this) – ezhikov

Verwandte Themen