Heim > Web-Frontend > CSS-Tutorial > Kann jQuery CSS-Pseudoelemente wie :before und :after auswählen?

Kann jQuery CSS-Pseudoelemente wie :before und :after auswählen?

Mary-Kate Olsen
Freigeben: 2024-11-29 10:39:14
Original
592 Leute haben es durchsucht

Can jQuery Select CSS Pseudo-elements Like :before and :after?

Zugriff auf Pseudoelemente über jQuery

Bei der Bearbeitung einer früheren Frage haben wir die Herausforderung untersucht, Pseudoelemente basierend auf den Auswirkungen von CSS-Regeln auszuwählen. Lassen Sie uns einen alternativen Ansatz mit jQuery-Selektoren erkunden.

Hintergrundeigenschaften

Berücksichtigen Sie die folgenden Standard-CSS-Eigenschaften:

.commentarea .author:before {
    background-image: url(http://...);
    background-position: -9999px -9999px;
    /* ... */
}
Nach dem Login kopieren

Diese Eigenschaften werden dann geändert selektiv:

.author[href$="gbacon"]:before /* ... */ {
  content: "";
  background-position: 0 -140px
}
Nach dem Login kopieren

jQuery Selektoren

Um Pseudoelemente mit Standardhintergrundpositionen auszuwählen, funktionieren einfache Selektoren wie dieser nicht:

GM_log("size = " + $(".commentarea .author:before").size());
Nach dem Login kopieren

Andere Versuche, wie die Verwendung von .siblings(), schlagen ebenfalls fehl um die gewünschten Ergebnisse zu erzielen.

Einschränkungen des Pseudoelements Selektoren

Es ist wichtig zu beachten, dass :before und :after keine gültigen jQuery-Selektoren sind. Sie dienen einem bestimmten Zweck:

  • :before fügt Inhalte vor dem ausgewählten Element ein
  • :after fügt Inhalte nach dem ausgewählten Element ein

Beispiel Verwendung

Das folgende HTML und CSS veranschaulichen, wie :before und :after funktioniert Arbeit:

<span class='a'>
    Outer
    <span class='b'>
        Inner
    </span>
</span>
Nach dem Login kopieren
.a .b:before {
    content: "|Inserted using :before|";
}

.a {
    color: blue;
}

.b {
    color: red;
}
Nach dem Login kopieren

In diesem Beispiel wird der Text mit :before dem inneren Bereich vorangestellt.

Alternativen

Da: before kein gültiger jQuery-Selektor ist, sind alternative Ansätze erforderlich. Eine Möglichkeit besteht darin, externe jQuery-Plugins wie jQueryRule zu verwenden, um die ursprüngliche Regel zu extrahieren.

Bitte beachten Sie, dass der Zugriff auf Stileigenschaften von Pseudoelementen mit jQuery eine Herausforderung sein kann. Überlegen Sie sorgfältig, ob es alternative Ansätze gibt, die Ihren Bedürfnissen besser gerecht werden könnten.

Das obige ist der detaillierte Inhalt vonKann jQuery CSS-Pseudoelemente wie :before und :after auswählen?. 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