Ich versuche, ein bestimmtes Div zu entfernen, wenn ein separates Div leer ist. Folgendes verwende ich:
$(document).ready(function () {
if ('#leftmenu:empty') {
$('#menuTitleWrapper').remove();
$('#middlemenu').css({ 'right': '0', 'position': 'absolute' });
$('#PageContent').css({ 'top': '30px', 'position': 'relative' });
}
});
Ich denke, das ist nah, aber ich kann nicht herausfinden, wie man den Code zum Testen von #leftmenu schreibt, ist leer. Jede Hilfe wird geschätzt!
trim()
funktioniert perfekt für mich. Musste eine Spalte in Sharepoint entfernen, die einen Leerraum hinzufügte, in dem gefunden wurdetrim()
. Vielen Dank..text()
da man tatsächlich einen Kommentar im "leeren" Container haben könnte und daher wedertrim
noch:empty
funktionieren würde. Thx.html()
wenn ein Container einen sehr langen HTML-Inhalt hat?Es kommt darauf an, was du mit leer meinst.
So überprüfen Sie, ob kein Text vorhanden ist (dies ermöglicht untergeordnete Elemente, die selbst leer sind):
So überprüfen Sie, ob keine untergeordneten Elemente oder Texte vorhanden sind:
Oder,
quelle
Wenn Sie eine kurze Demo wünschen, wie Sie nach leeren Divs suchen, empfehlen wir Ihnen, diesen Link auszuprobieren:
http://html-tuts.com/check-if-html-element-is-empty-or-has-children-tags/
Nachfolgend finden Sie einige kurze Beispiele:
Verwenden von CSS
Wenn Ihr div ohne Leerzeichen leer ist, können Sie CSS verwenden:
Leider gibt es keinen CSS-Selektor, der das vorherige Geschwisterelement auswählt. Es gibt nur für das nächste Geschwisterelement:
x ~ y
Verwenden von jQuery
Überprüfen der Textlänge des Elements mit der Funktion text ()
Überprüfen Sie, ob das Element untergeordnete Tags enthält
Suchen Sie nach leeren Elementen, wenn sie Leerzeichen haben
quelle
Sie können die jQuery- Funktionalität folgendermaßen erweitern:
Erweitern :
Verwenden :
quelle
Versuche dies:
Es ist nicht das Schönste, aber es sollte funktionieren. Es wird geprüft, ob innerHTML (der Inhalt von #leftmenu) eine leere Zeichenfolge ist (dh nichts darin enthalten ist).
quelle
In meinem Fall musste ich mehrere Elemente in document.ready ausblenden. Dies ist die Funktion (Filter), die bisher für mich funktioniert hat:
oder .remove () statt .hide (), was auch immer Sie bevorzugen.
Zu Ihrer Information: Dies ist insbesondere die Lösung, mit der ich störende leere Tabellenzellen in SharePoint verstecke (zusätzlich zu dieser Bedingung "|| $ (this) .children (" menu "). Length".
quelle
quelle
Ich bin heute darauf gestoßen und die akzeptierten Antworten haben bei mir nicht funktioniert. Hier ist, wie ich es gemacht habe.
Meine Lösung prüft, ob sich Elemente im div befinden, sodass das div weiterhin als leer markiert wird, wenn nur Text darin enthalten ist.
quelle
auch können Sie dies verwenden:
Ich denke, es wird für dich funktionieren!
quelle
quelle