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 :

Test si parent est" indefined"


Sujet :

JavaScript

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut Test si parent est" indefined"
    Bonjour a tous
    et oui encore moi avec mon shadow

    je réécrit au propre la fonction et je rencontre une erreur qui pour moi est insensé

    je prend l parent de la selection et boucle sur ces balise font
    problème si il y en a pas parent est" indefined"
    alors OK je met ma boucle sur les font dans un if parent!= undefined
    et bien le code bloque dans le if alors qu'il ne devrait même pas y passer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function backcol(coul, MOD) {    var sel = window.getSelection();
        var parent = sel.getRangeAt(0).commonAncestorContainer;
     alert(parent.tagName);//donne undefined si il n'y a pas de balise et que du texte 
     if(parent.tagName!="undefined"){
     var f=parent.getElementsByTagName("FONT")//génère l'erreur alors qu'elle devrait Etre sauté
     for (var i = 0; i < f.length; i++) {
        if(f[i].style.backgroundColor!=""){
        f[i].setAttribute("back",f[i].style.backgroundColor);
        }
      }
    }
    c'est un carcan ce javascript pour moi j'avance d'un pas je recule de 3 avec des erreurs pareil

  2. #2
    Membre à l'essai Avatar de Biboude
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Hello ! Alors déjà tu veux faire quoi avec quoi et comment ?

    Si tu bloque sur une condition dans un if vérifie au préalable la valeur de ce que tu teste.

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Salut,

    Je ferais plutôt le teste sur le parent c'est-à-dire vérifier son nodeType :

    - Si il est égale à 1 c'est que c'est un élément (balise) tu peux avoir son tagName...
    - Si il est égale à 3 c'est que c'est une nodeText et donc son tagName est undefined et son nodeName est #text.

    Après ce serait bien de traiter les cas où l’utilisateur voudrait appliquer un shadow alors qu'il n'a pas sélectionné de texte car dans ce cas faire var parent = sel.getRangeAt(0).commonAncestorContainer; pourrait poser problème...

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Mes remarques précédentes sont toujours valables mais je viens de comprendre ce qui déconne :

    Tu as écrit : if(parent.tagName!="undefined")

    C'est une condition qui risque d'être toujours vraie à moins d'avoir un tagName égale à la string "undefined"... Oui la string, tu fais la comparaison avec une string alors qu'il faudrait le faire avec le type undefined comme ça : if (parent.tagName != undefined) sans les guillemets...

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonjour,
    c'est un carcan ce javascript pour moi...
    il faut dire que tu y mets de la bonne volonté !

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

Discussions similaires

  1. Erreur incompréhensible
    Par Progs dans le forum C++
    Réponses: 13
    Dernier message: 21/06/2005, 14h59
  2. [2.1][jdk1.3][Junit] Erreur incompréhensible!
    Par Sniper37 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 29/04/2005, 19h03
  3. Erreur incompréhensible à la ligne 200 (sur 190 ?!)
    Par transistor49 dans le forum Qt
    Réponses: 3
    Dernier message: 22/03/2005, 23h09
  4. [Fichiers] Erreur incompréhensible
    Par Clorish dans le forum Langage
    Réponses: 5
    Dernier message: 14/12/2004, 17h18
  5. [JSP] Erreur incompréhensible
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/09/2003, 16h37

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