Verstecke mehrere Listenelemente, wenn einer keinen Inhalt hat oder leer ist

8

Ich habe eine ganze Reihe von Listenelementen, und in ihnen sind mehr Listenelemente.

Für alle <li id="company-name" class="hide"> möchte ich feststellen, ob dieses Element leer ist.

Wenn es leer ist, möchte ich alle <li class="hide"> im direkten Eltern <ul></ul> Element ausblenden.

%Vor%     
Kim Tran 01.09.2015, 04:14
quelle

6 Antworten

8

Sie können den einfachen CSS-Selektor : leer

verwenden %Vor%

Verwenden von jQuery:

%Vor%

Wenn Sie das Eltern-Div ausblenden möchten, können Sie Folgendes verwenden:

%Vor%

Gemäß Ihrer aktualisierten Frage können Sie nicht selector und enthält Selektor wie folgt:

%Vor%     
Bhojendra Nepal 01.09.2015 04:17
quelle
2

Sie haben in Ihrem HTML mehrere id="company-name" verwendet, was keine korrekte Vorgehensweise ist. Ändere sie in Klasse.

Sie können jede () -Funktion verwenden, um zu iterieren.

%Vor% %Vor%
    
RRK 01.09.2015 04:18
quelle
2

Wollen Sie das?

EDIT: feste Antwort dank @patlkli und @Sphinxxx

%Vor%

Dies blendet alle leeren <li id="company-name" class="hide"> -Elemente aus und verbirgt alle benachbarten / gleichgeordneten Elemente <li class="hide"> , unabhängig davon, ob sie ebenfalls leer sind oder nicht.

Ссылка

    
bitstrider 01.09.2015 05:29
quelle
0
%Vor%     
danish farhaj 01.09.2015 04:20
quelle
0

Hier ist eine reine Javascript-Lösung:

Suchen Sie zuerst nach Listen, die leere Elemente enthalten, und fügen Sie ihnen die Klasse 'hasEmptyItems' hinzu:

%Vor%

Verwenden Sie als Nächstes CSS, um Elemente mit der Klasse 'hide' in Listen mit der Klasse 'hasEmptyItems'

auszublenden %Vor%

FIDDLE

%Vor% %Vor% %Vor%
    
Danield 01.09.2015 07:07
quelle
0

Einfach und auf den Punkt. :)

%Vor%     
user2625470 14.10.2016 04:57
quelle

Tags und Links