Ich möchte einige Schaltflächen verwenden, um mehrere Divs mit jquery anzuzeigen / auszublenden.
Die Seite zeigt zunächst alle Divs. Die Idee ist dann, dass es eine Schaltfläche zum Zurücksetzen (alles anzeigen) und dann separate Schaltflächen zum Anzeigen eines bestimmten Divs geben wird, während der Rest ausgeblendet wird.
Wenn sie in logische Gruppen fallen, Ich würde wahrscheinlich den hier bereits aufgeführten Klassenansatz verwenden.
Viele Leute scheinen zu vergessen, dass man es tatsächlich kann Wählen Sie mehrere Elemente nach ID im selben jQuery-Selektor aussowie:
$("#div1, #div2, #div3").show();
Wobei „div1“, „div2“ und „div3“ alle ID-Attribute für verschiedene Divs sind, die Sie gleichzeitig anzeigen möchten.
Bozo
Ordnen Sie jedem div a zu class. Dann können Sie Aktionen für alle ausführen:
$(".divClass").hide();
Jede Taste kann also Folgendes tun:
$(".divClass").hide()
$("#specificDiv").show();
Sie können dies allgemeiner gestalten und die offensichtliche Konvention verwenden – die Schaltfläche und das div mit derselben Nummer in der ID sind verwandt. So:
Was das Bessere betrifft – fügen Sie allen Divs eine gemeinsame Klasse hinzu und verwenden Sie einige Attribute in Schaltflächen mit der ID der Ziel-Divs
Wenn Sie in der Lage sein möchten, einzelne Divs und/oder Gruppen von Divs mit weniger Code anzuzeigen / auszublenden, wenden Sie einfach mehrere Klassen darauf an, um sie bei Bedarf in Gruppen einzufügen.
Dann müssen Sie nur noch eine Kennung verwenden, um die Aktion mit dem Ziel zu verknüpfen, und mit 5,6 Zeilen JQuery-Code haben Sie alles, was Sie brauchen.
Ich hatte das gleiche Problem, las diesen Beitrag, beendete aber das Erstellen dieser Lösung, die die Divs dynamisch auswählt, indem die ID aus einer benutzerdefinierten Klasse auf der abgerufen wird href mit JQuery attr() Funktion.
Hier ist die JQuery:
$('a.custom_class').click(function(e) {
var div = $(this).attr('href');
$(div).toggle('fast');
e.preventDefault();
}
Und Sie müssen nur einen Link wie diesen dann im HTML erstellen:
Sehen: Beispiel
– jschorr
6. August 11 um 13:29 Uhr