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 :

Récupérer l'élément qui a la classe 1 et la classe 2


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 414
    Points : 871
    Points
    871
    Par défaut Récupérer l'élément qui a la classe 1 et la classe 2
    bonjour,



    dans une page html, j'ai 3 pages, chacune symbolisées par des div ayant ce genre de class :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div class="wpforms-page-indicator-page wpforms-page-indicator-page-1 "></div>
    <div class="wpforms-page-indicator-page wpforms-page-indicator-page-2 active"></div>
    <div class="wpforms-page-indicator-page wpforms-page-indicator-page-3 "></div>

    Je souhaite placer un script qui s'exécute suivant la page active.
    Dans mon exemple, il y a la classe "active" dans la deuxième ligne, donc la page2. je sais que c'est la page 2 car il y a la class "wpforms-page-indicator-page-2"

    je cherche donc à écrire écrire en JS dom (pas en jquery) cette logique :

    si il y a un div qui contient à la fois la class "wpforms-page-indicator-page-2" et la class "active" alors je suis en page2

    mon code faisant cela est :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var enpage2= document.querySelectorAll('.wpforms-page-indicator-page-2 .active').length;
    alert(enpage2);


    mon code JS qui compte les div dans une page, retourne toujours 0, y-voyez-vous une raison ?

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 465
    Points : 4 651
    Points
    4 651
    Par défaut
    il ne faut pas mettre d'espaces dans le querySelector (comme en CSS) quand tu veux selectionner "plusieurs classes en meme temps"

    document.querySelectorAll('.wpforms-page-indicator-page-2.active').length

  3. #3
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 720
    Points : 1 607
    Points
    1 607
    Par défaut
    jour

    utilise classlist
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('element').classList.contains("nom_de_la_classe");

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 465
    Points : 4 651
    Points
    4 651
    Par défaut
    il pourrai, mais son element n'a pas d'id...

  5. #5
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 720
    Points : 1 607
    Points
    1 607
    Par défaut
    il lui reste plus qu'a en donner un ou utiliser une autre méthode de ciblage (querySelector,parentNode,firstChild....etc)

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 058
    Points : 44 588
    Points
    44 588
    Par défaut
    Bonjour,
    la signature de la méthode est très claire : document.querySelector(sélecteurs CSS), il suffit donc de mettre un sélecteur CSS conforme, voir réponse de Doksuri, et donc aucun besoin d'ID.

    Si l'élément est le seul à avoir une classe active le sélecteur peut être dans ce cas plus simple.

Discussions similaires

  1. Récupérer un élément qui a moins de 7 jours
    Par Vinc06 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/10/2017, 13h38
  2. Récupérer un élément qui arrive par AJAX
    Par manu_71 dans le forum jQuery
    Réponses: 1
    Dernier message: 21/03/2012, 12h59
  3. Récupèrer la vue qui instancie une classe
    Par greatalain dans le forum Flex
    Réponses: 5
    Dernier message: 01/06/2011, 14h47
  4. Réponses: 1
    Dernier message: 11/09/2006, 11h21
  5. Récupérer l'id d'un élément qui vient d'être inséré
    Par sg-40 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2004, 10h30

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