Maison > interface Web > tutoriel CSS > JQuery peut-il sélectionner des pseudo-éléments CSS comme :before et :after ?

JQuery peut-il sélectionner des pseudo-éléments CSS comme :before et :after ?

Mary-Kate Olsen
Libérer: 2024-11-29 10:39:14
original
680 Les gens l'ont consulté

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

Accès aux pseudo-éléments via jQuery

En travaillant sur une question précédente, nous avons exploré le défi de la sélection de pseudo-éléments en fonction des effets des règles CSS. Explorons une approche alternative utilisant les sélecteurs jQuery.

Propriétés d'arrière-plan

Considérez les propriétés CSS par défaut suivantes :

.commentarea .author:before {
    background-image: url(http://...);
    background-position: -9999px -9999px;
    /* ... */
}
Copier après la connexion

Ces propriétés sont ensuite modifiées de manière sélective :

.author[href$="gbacon"]:before /* ... */ {
  content: "";
  background-position: 0 -140px
}
Copier après la connexion

jQuery Sélecteurs

Pour sélectionner des pseudo-éléments avec des positions d'arrière-plan par défaut, les sélecteurs de base comme celui-ci ne fonctionneront pas :

GM_log("size = " + $(".commentarea .author:before").size());
Copier après la connexion

D'autres tentatives, telles que l'utilisation de .siblings(), échouent également pour produire les résultats souhaités.

Limitations du pseudo-élément Sélecteurs

Il est important de noter que :before et :after ne sont pas des sélecteurs jQuery valides. Ils servent un objectif précis :

  • :avant insère le contenu avant l'élément sélectionné
  • :après insère le contenu après l'élément sélectionné

Exemple Utilisation

Le code HTML et CSS suivant montre comment :avant et :après work :

<span class='a'>
    Outer
    <span class='b'>
        Inner
    </span>
</span>
Copier après la connexion
.a .b:before {
    content: "|Inserted using :before|";
}

.a {
    color: blue;
}

.b {
    color: red;
}
Copier après la connexion

Dans cet exemple, le texte est ajouté au début de la travée intérieure en utilisant :before.

Alternatives

Depuis : before n'est pas un sélecteur jQuery valide, des approches alternatives sont nécessaires. Une option consiste à utiliser des plugins jQuery externes comme jQueryRule pour extraire la règle d'origine.

Veuillez noter que l'accès aux propriétés de style des pseudo-éléments avec jQuery peut être difficile. Réfléchissez attentivement s'il existe des approches alternatives qui pourraient répondre plus efficacement à vos besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal