ich einen jquery Click-Handler haben, die eine der Listenelemente umgeschaltet wird:
$(document).on('click', 'ul li', function() {
$(this).toggleClass('expanded');
});
Damit ich Element klickte ich ändern kann, erweitert und es zusammenbricht.
Aber was, wenn ich möchte nur ein Element erweitert werden und zuvor erweitert Element zu schließen, wenn ich auf ein anderes klicke?
Ich möchte für toggleClass('expanded')
dieses vorbei beide $(this)
(geklickt li
) und li.expanded
zu jQuery-Selektor tun.
So etwas (aber nicht funktioniert):
$(document).on('click', 'ul li', function() {
$(this, 'ul li.expanded').toggleClass('expanded');
});
Vielen Dank im Voraus!
UPD: ich diese Funktion muß auch arbeiten, wenn keine Elemente vor (auf Seite Start) erweitert wurden und in der Lage zu sein, die zuvor expandierte Element kollabieren, wenn ich darauf klicken.
es funktioniert nicht richtig, wenn die Verwendung (nicht erste Element nicht erweitern):
$('li.expanded', this).toggleClass('expanded');
aber funktioniert gut mit:
$('li.expanded').toggleClass('expanded');
$(this).toggleClass('expanded');
Bitte schauen Sie auf meine Frage aktualisiert –
Ich denke, dass dies nur Toggle-Klasse für das klickten Element erweitert, aber es wird nicht diese Klasse aus dem vorherigen .expanded Element – kapantzak
@s entfernen. webbandit: überprüfe das aktualisierte Snippet ... –