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 ne fonctionne pas comme attendu


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut querySelectorAll ne fonctionne pas comme attendu
    Bonjour et meilleurs voeux à tous,
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table>
    	<tr><th>Libellé</th><th></th><th></th></tr>
    	<tr><td>CD</td><td><img src='images/edit.png' data-id='2'></td><td><img src='images/del.png' data-id='2'></td></tr>
    	<tr><td>DVD</td><td><img src='images/edit.png' data-id='3'></td><td><img src='images/del.png' data-id='3'></td></tr>
    	<tr><td>Livre</td><td><img src='images/edit.png' data-id='1'></td><td><img src='images/del.png' data-id='1'></td></tr>
    </table>
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    const
    	edit	= document.querySelectorAll("[src*='edit.png]")
    	,remove	= document.querySelectorAll("[src*='del.png]")
    	;
     
    alert('xx');		// sert à vérifier que le code est bien exécuté.
    console.log(edit);
    console.log(remove);
    MA QUESTION: Les console.log() retourne des nodeList vide.Pourquoi?

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 988
    Par défaut
    La syntaxe de tes sélecteurs n'est pas bonne, il y a un quote non fermé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const edit = document.querySelectorAll('[src*="edit.png"]');
    const remove = document.querySelectorAll('[src*="del.png"]');
    Tu peux aussi être plus explicite puisqu'il s'agit uniquement de balises img et que la chaîne que tu cherches dans l'attribut se trouve à la fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const edit = document.querySelectorAll('img[src$="edit.png"]');
    const remove = document.querySelectorAll('img[src$="del.png"]');
    Aussi assure-toi que le DOM est bien chargé lorsque ton code javascript est éxécuté (soit en écoutant l'événement DOMContentLoaded, soit en plaçant ton script à la fin de ton html).

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Merci. C'est vrai que j'ai des problèmes de vue et que j'ai du mal à voir les petits caractères comme les apostrophes ou les points.
    J'ai posé deux questions à cause de ça. C'est désolant. Je dois essayer d'être plus vigilant.

  4. #4
    Membre chevronné
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2023
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2023
    Messages : 387
    Par défaut
    Bonjour,

    Avec codium j'utilise [ctrl]+[+] ot [ctrl]+[-] pour augmenter ou réduire la taille de la police lorsque le besoin se faire sentir.

    C'est d'autant plus utile que vous utilisez essentiellement des expressions non compilées et dont les syntaxes
    ne sont pas sujettes à des validations stricte durant une éventuelle étape de compilation.

    Les noms de paramètre PDO, ou les requêtes CSS sont très permissives,
    et du moins sur mon installation,
    pas surveillées par l'environnement de développement.

    bref, jouez de la taille de la police devrait vous sortir de bien des situations,
    l'expérience, et donc la pratique, aussi.

    Enfin, n'hésitez pas à utiliser la console de votre navigateur,
    ou des terrains de jeu,
    pour tester certaines portions de code de manière spécifique et restreinte,
    en dehors du reste de l'application.
    Cela doit vous permettre d'évacuer de la complexité environnante pour vous concentrer sur l'essentiel.

    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Méthode Every qui ne fonctionne pas comme attendu
    Par Cvanhove dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/01/2017, 09h30
  2. Réponses: 0
    Dernier message: 29/04/2015, 16h44
  3. [XL-2007] Comparaison de valeurs ne fonctionne pas comme attendu
    Par eric4459 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/05/2014, 17h55
  4. pthread et signal : fonctionne pas comme attendue
    Par contremaitre dans le forum POSIX
    Réponses: 0
    Dernier message: 01/08/2008, 12h22
  5. [D7][Mutex] ne fonctionne pas comme attendu !
    Par jbat dans le forum Delphi
    Réponses: 8
    Dernier message: 25/06/2007, 12h35

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