IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Acceder aux blocs d'une pseudo classe CSS ?


Sujet :

JavaScript

  1. #1
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut Acceder aux blocs d'une pseudo classe CSS ?
    Bonjour !

    Je n'arrive pas a trouver comment faire pour acceder en javascript aux elements de la page définis avec les pseudos classes CSS :before et :after.

    Dans l'exemple ci dessous, je créé un div avec une pseudo classe :before qui va etre le titre du div.
    J'aimerais ajouter un gestionnaire d'evenement *uniquement* au titre du div, mais je ne vois pas le "block" correspondant au :before dans l'inspecteur DOM.

    Est-ce réellement possible ?

    (ps : C'est du code compatible FF3, si ca ne fonctionne pas sous IE c'est pas grave ;o)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <html>
    <head>
    	<style>
    		.cadre {
    			width:200px;
    			margin:auto;
    			border:1px solid;
    		}
    		.cadre:before {
    			display:block;
    			content:attr(titre);
    			background-color:lightblue;
    		}
    	</style>
    </head>
    <body>
    	<div id="testDiv" class="cadre" titre="Titre">
    		Contenu
    	</div>
     
    <script>
    	function test(e) {
    		alert('test');
    	}
     
    	var aDiv=document.getElementById("testDiv");
    	// definition d'un gestionnaire d'evenement sur le div : ok
    	aDiv.onclick=test;
    	// modification du style du div : ok
    	aDiv.style.fontWeight='bold';
    	// definition d'un gestionnaire d'evenement uniquement sur le titre du div ?
    	//aDiv.???.onclick=...;
    </script>
     
    </body>
    </html>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Peut-être :
    mais non garanti, je ne sais pas trop comment les pseudo-classes sont gérées par le DOM...

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    ben justement, j'ai l'impression que les pseudos classes ne sont *pas* dans le DOM, je ne pensais pas que c'était possible, mais elles n'apparaissent pas dans l'explorateur DOM de FF3 :/

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    en faisant un alert de className de ton objet tu as quoi ??

    car les pseudo class sont normalement lié a des évènements donc normal que tu ne les vois pas directement ...

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    bah, le className me renvoi "cadre", ce qui est correct.
    si tu parles du div.previousSibling.className, c'est undefined

    J'ai l'impression que ce que je souhaite n'est pas possible... je laisse le thread ouvert si quelqu'un d'autre a une idée ;o)

Discussions similaires

  1. Ajouter une action aux blocs avec la meme Classe
    Par thebarbarius dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/04/2010, 18h58
  2. Réponses: 1
    Dernier message: 18/03/2008, 15h29
  3. STL list : acceder aux enfant d'une class depuis un liste
    Par poussinphp dans le forum SL & STL
    Réponses: 6
    Dernier message: 29/04/2007, 17h21
  4. Réponses: 1
    Dernier message: 18/08/2006, 10h34
  5. [vb.net 2.0]Acceder aux variable d'une classe
    Par kissskoool dans le forum Windows Forms
    Réponses: 8
    Dernier message: 21/06/2006, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo