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 :

querySelectorAll sélectionner toutes mes classes passées en paramètre


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2013
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 66
    Points : 57
    Points
    57
    Par défaut querySelectorAll sélectionner toutes mes classes passées en paramètre
    Bonjour j'essaye de reccuperer tout mes champs qui ont un attribut classe=champX ensuite d'appliquer l'element select pour les selectionner

    mes mon code ne selectionne que le premier element rencontré donc mon second champs n'est pas selectionné .

    querySelectorAll : cette function retourne uniquement le premier element qu'il rencontre mais il me semble si je lui dit de parcourir et ensuite

    appliquer mon select sa devrait marcher logiquement sauf erreur de ma ma part

    voici le code javascript

    NB : le CSS est appliqué à tout les deux champs sauf le select qui n'est pas appliqué aux deux champs

    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
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            var copyTextareaBtn = document.querySelector('.js-textareacopybtn');
            copyTextareaBtn.addEventListener('click', function(event) {
                var x = document.getElementById("tout").querySelectorAll(".champsX");
                var i;
                for (i = 0; i < x.length; i++) {
                    x.item(i).style.backgroundColor = "red";
                    x.item(i).select();
                }
                try {
                    var msg = successful ? 'successful' : 'unsuccessful';
                } catch (err) {
                    console.log('Oops');
                }
            });
        });
    </script>
    le code HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <body>
        <div id="tout">
            <label> Adresse 1 : </label>
            <input type="text" name="champs" class="champsX" id="ok" value="je suis la" />
            <label> Adresse 2 : </label>
            <input type="text" name="champX" class="champsX" id="ok2" value="seomme Text" />
        </div>
        <button class="js-textareacopybtn">clik</button>
    </body>

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    c'est le comportement normal de la sélection dans un navigateur via la méthode select().

    Je suis quand même surpris par ton code attendu que tu charges jQuery, mais visiblement uniquement pour $(document).ready(function().

Discussions similaires

  1. Initialiser une classe passée en paramètre
    Par Crazytox dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 09/11/2014, 14h45
  2. Objets "module de classe" passé en paramètre de fonction
    Par jeanjean6 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/03/2013, 09h49
  3. Réponses: 3
    Dernier message: 06/01/2011, 16h28
  4. Réponses: 10
    Dernier message: 13/09/2006, 09h13
  5. Réponses: 6
    Dernier message: 22/08/2006, 15h37

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