jQuery: Überprüfen, ob ein DIV Container leer ist
Frage von PC Control | 21.04.2012 um 16:26
Ich möchte mit Hilfe von jQuery testen, ob ein DIV-Container leer ist, zum Beispiel dieser Container hier:
<div id="meindiv"></div>
Gibt es da eine bestimmte Funktion, die jQuery mitbringt, die man zu diesem Zweck verwenden kann?
Ähnliche Themen
jQuery: DIV-Container abhängig von Checkbox anzeigen oder ausblenden
Tutorial | 2 Kommentare
jQuery: Ein DIV aufklappen - andere DIVs zuklappen
Tutorial | 14 Kommentare
JavaScript: Bereich durch Link aufklappen und zuklappen
Tutorial | 5 Kommentare
jQuery: Komplettes DIV mit enthaltenem Link anklickbar machen
Frage | 1 Antwort
jQuery: Durch Klick auf Links DIV-Inhalt laden und ersetzen
Tutorial | 6 Kommentare
jQuery: Data-Attribut-Wert lesen und ändern
Tutorial | 0 Kommentare
jQuery: Elemente einblenden und ausblenden
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Du kannst es zum Beispiel ganz einfach so machen:
Oder so:
Im ersten Beispiel rufen wir mit .html() den Inhalt des Elements ab. Die if-Bedingung ist dann true, wenn irgendein Inhalt in dem Container war und false, wenn das Ergebnis von .html() leer war.
Im zweiten Beispiel nutzen wir den jQuery Selektor :empty und wir fragen ab, ob das betreffende Element zu den leeren Elementen gehört (is(':empty')).
Whitespace im DIV
Was passiert im folgenden Fall, wenn nur Whitespace wie Leerzeichen, Tabs oder Zeilenumbrüche im DIV sind?
Die beiden Funktionen oben würden sagen, dass das DIV einen Inhalt enthält. Wenn wir das bei bloßem Whitespace im Container nicht möchten, können wir uns folgendem Trick bedienen:
Mit trim() sorgen wir dafür, dass der Whitespace vor und hinter dem "eigentlichen" Inhalt entfernt wird. Zurück bleibt ein leerer String für den Fall, dass der Container vorher nur Whitespace enthielt und das Ergebnis der if-Bedingung wird false. Nur wenn wirklich irgendeinen Text in dem Element steht, wird die Bedingung true.
23.04.2012 um 16:13
Funktioniert prima. Lediglich der IE kann mit trim() nichts anfangen. Habt ihr dafür schon eine Idee?
18.05.2014 um 09:12
Ungetestet: Wenn wir diesen Code verwenden, haben wir ja sowieso jQuery eingebunden und können daher auch die trim-Funktion von jQuery nutzen:
Oder eingebaut in den Code von oben:
Funktioniert es so bei dir?
19.05.2014 um 04:43
Hier noch etwas dazu:
Der Internet Explorer und die Trim-Funktion
Darin beschreibe ich auch die Möglichkeit, die trim-Funktion für den IE zu definieren.
23.05.2014 um 02:51