jQuery von Kopf bis Fuß (German Edition)
haben.
$(".vorspeisen").children().detach()
______________________________________________________________
______________________________________________________________
______________________________________________________________
$(".zutaten").children().detach()
______________________________________________________________
______________________________________________________________
______________________________________________________________
$(".fisch").parent().detach()
______________________________________________________________
______________________________________________________________
______________________________________________________________
$(".fisch").parent().parent().detach()
______________________________________________________________
______________________________________________________________
______________________________________________________________
Lösung zur Übung
Gehen Sie zur Adresse http://www.thinkjquery.com/chapter04/traversal/ und öffnen Sie die JavaScript-Konsole in den Entwicklerwerkzeugen Ihres Browsers. Im Abschnitt „Lies mich“ am Anfang dieses Buches werden verschiedene Entwicklerwerkzeuge vorgestellt. Führen Sie alle vier Traversal-Methoden mit einer verketteten
detach
-Methode aus, wie es unten gezeigt wird. Danach schreiben Sie hier auf, ob die Methode bei der Lösung unseres Problems helfen kann oder nicht. Den eingedeutschten Code finden Sie unter www.oreilly.de/catalog/hfjqueryger .
Wichtig: Vergessen Sie nicht, die Seite neu zu laden , nachdem Sie die jeweilige Anweisung ausgeführt haben.
$(".vorspeisen").children().detach()
Anmerkung
Diese Traversal-Methode entfernt die Kindelemente von ul.vorspeisen. Die Methode funktioniert nicht für das Entfernen von »fisch«, weil ALLE Vorspeisen verschwinden. Mist! Nicht, was wir brauchen.
$(".zutaten").children().detach()
Anmerkung
Diese Traversal-Methode löscht die Kindelemente von ul.zutaten. Sie funktioniert nicht, um bestimmte Vorspeisen zu entfernen, die »fisch« enthalten. Stattdessen werden die Listen der Zutaten abgetrennt. Ups!
$(".fisch").parent().detach()
Anmerkung
Diese Traversal-Methode entfernt das Elternelement von »fisch«. Für das Entfernen von Vorspeisen, die »fisch« enthalten, funktioniert sie nicht, weil sie nicht weit genug im DOM-Baum aufsteigt. Stattdessen wird ul.zutaten (und alles darin enthaltene) entfernt.
$(".fisch").parent().parent().detach()
Anmerkung
Diese Traversal-Methode entfernt das Elternelement des Elternelements (sozusagen das »Großeltern-Element«) von »fisch«. Das ist genau, was wir brauchen.
Richtig. Wir können die Fisch-Einträge nicht einfach enfernen und dann vergessen.
Wir müssen unseren Code noch einmal überdenken, damit das funktioniert.
Kopf-Nuss
Wir müssen die Fischgerichte später wieder anzeigen. Wie könnte das gehen?
Spitzen Sie Ihren Bleistift
Mittlerweile haben wir schon eine ganze Menge jQuery- und JavaScript-Konstrukte gesehen. Welche davon könnten wir benutzen, damit die Elemente mit der Klasse ».fisch« nicht vergessen werden? Schreiben Sie entweder »Ja« oder »Nein« in die Spalte »Benutzen oder nicht?« und erklären Sie, warum Sie das Konstrukt gewählt bzw. nicht gewählt haben. Eine Antwort haben wir schon für Sie gegeben. Sie brauchen also nur noch drei Mal zu antworten.
Benutzen oder nicht?
Warum?
Terminator
Nein
Ein Terminator beendet eine Anweisung. Dadurch können wir uns nicht an die entfernten Elemente erinnern.
Variable
Funktion
Selektor
Spitzen Sie Ihren Bleistift: Lösung
Mittlerweile haben wir schon eine ganze Menge jQuery- und JavaScript-Kontrukte gesehen. Welche davon könnten wir benutzen, damit die Elemente mit der Klasse ».fisch« nicht vergessen werden? Schreiben Sie entweder »Ja« oder »Nein« in die Spalte »Benutzen oder nicht?« und erklären Sie, warum Sie das Konstrukt gewählt bzw. nicht gewählt haben. Hier ist unsere Lösung.
Benutzen oder nicht?
Warum?
Terminator
Nein
Ein Terminator beendet eine Anweisung. Dadurch können wir uns nicht an die entfernten Elemente erinnern.
Variable
Ja
Eine Variable kann Dinge für uns speichern. Wenn wir die entfernten Elemente speichern, können wir sie später einfach zurückholen, indem wir den Inhalt der Variablen auslesen.
Funktion
Nein
Mit einer Funktion können wir Daten verändern. Das Problem mit den entfernten Elementen hat aber mit der Speicherung von Daten zu
Weitere Kostenlose Bücher