Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann ich dafür sorgen, dass der :nth-child-Selektor ausgeblendete Elemente ignoriert?

Patricia Arquette
Freigeben: 2024-11-18 19:57:02
Original
326 Leute haben es durchsucht

How Can I Make the :nth-child Selector Ignore Hidden Elements?

So veranlassen Sie den n-ten-Kind-Selektor, versteckte Elemente zu ignorieren

Problem:

In CSS :nth-child()-Selektor zählt versteckte Elemente in seinen Berechnungen. Dies kann zu Störungen beim Ausblenden von Elementen mit display: none führen.

Lösung:

Um ausgeblendete Elemente auszuschließen, müssen wir sie vollständig aus dem DOM entfernen. Hier ist eine CSS-basierte Lösung und eine jQuery-basierte Lösung:

CSS-Lösung:

.hidden {
    display: none !important;
}
Nach dem Login kopieren

Die !important-Deklaration überschreibt die display: none-Regel und entfernt sie vollständig das Element aus dem Seitenlayout.

jQuery Lösung:

$('.hidden').remove();
Nach dem Login kopieren

Die Methode „remove()“ entfernt die ausgeblendeten Elemente physisch aus dem DOM und stellt sicher, dass sie nicht vom Selektor :nth-child() gezählt werden.

Beispiel:

Betrachten Sie den folgenden HTML-Code Struktur:

<div class="container">
  <div class="item"></div>
  <div class="item hidden"></div>
  <div class="item"></div>
</div>
Nach dem Login kopieren

Mit dem nth-child(2n)-Selektor würde das zweite Element als Ziel ausgewählt. Wenn wir jedoch das zweite Element mit display: none ausblenden, wird es weiterhin vom Selektor gezählt.

Durch die Verwendung der bereitgestellten CSS- oder jQuery-Lösung würde das ausgeblendete Element vom n-ten nicht mehr berücksichtigt. child()-Selektor, was zum gewünschten Effekt führt.

Das obige ist der detaillierte Inhalt vonWie kann ich dafür sorgen, dass der :nth-child-Selektor ausgeblendete Elemente ignoriert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage