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 :

ordre d'exécution des instructions !


Sujet :

JavaScript

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut ordre d'exécution des instructions !
    Bonjour

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     doc.innerHTML+=" qui se répartissent en "
       if (bn!=0) doc.innerHTML+=" BN, "
      if (bc!=0) doc.innerHTML+=" BC, "
      if (nl!=0) doc.innerHTML+=" NL, "
      if (n!=0)  doc.innerHTML+=" N, "
      if (nc!=0) doc.innerHTML+=" NC, "
      if (ml!=0) doc.innerHTML+=" ML, "
      if (mn!=0) doc.innerHTML+=" MN, "
      if (mc!=0) doc.innerHTML+=" MC, "
      doc.innerHTML=doc.innerHTML+"</li>"

    Voici l'html généré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    </li> qui se répartissent en 1 BC, 3 N, 1 NC, 1 ML, 1 MN,
    Je ne comprends pas pourquoi le </li> arrive juste avant le qui se répartissent en

    Vous pouvez regarder la page http://troumad.org/Mes_regles/guilde...php?nb_h=20000 , c'est dans les fenêtres qui s'ouvrent lorsqu'on clique sur les +.
    Au niveau de ces <li>, j'ai un problème équivalent avec les <ul> où le </ul> arrive trop tôt

    nb : je teste avec firefox 13.0.1 .
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Je viens de comprendre...

    Le html est analysé au fur et à mesure de son insertion. Dès que le ul ou le li sont insérés, sans attendre la suite des insertions, les balises ouvertes sont fermées !

    Il faut donc fabriquer la chaîne et après l'insérer dans le code html lorsque que toutes les balises ouvertes sont fermées !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par troumad Voir le message
    Il faut donc on peut fabriquer la chaîne et après l'insérer dans le code html lorsque que toutes les balises ouvertes sont fermées !
    ...et on peut également opter pour une gestion plus saine des éléments de sa page en utilisant les méthodes de manipulation du DOM que sont document.createElement, document.appendChild, etc.

    Crée d'abord ta chaine par de simples concaténations, sans changer un broc à ta page. Ensuite, tu crées un élément <li> qui contiendra la chaine obtenue. Enfin, tu insères proprement le <li> à la place voulue dans la page.

    (Parce que cette avalanche d'innerHTML que tu envoies au navigateur est une monstruosité, soit dit sans offense )

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  4. #4
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    J'ai déjà nettoyé mon code...
    Lorsque que je rajoute du cade avec un innerHTML, toute balise ouverte est fermée.

    J'ai déjà un peu touché au DOM quand j'ai regardé les scripts greasemokey, j'y sui sarrivé, mais ce n'est plus très jeune tout ça ! Je me souviens juste que ce n'était pas très facile...
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

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

Discussions similaires

  1. L'ordre d'exécution des threads
    Par Dosseh dans le forum Modules
    Réponses: 1
    Dernier message: 05/07/2007, 20h24
  2. [URL Rewriting] ordre d'exécution des règles
    Par safisafi dans le forum Apache
    Réponses: 1
    Dernier message: 21/11/2006, 18h52
  3. ordre d'exécution des événements onblur et onfocus
    Par letycaf dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/05/2006, 15h30
  4. [telnet] Exécuter des instructions en cas d'echec
    Par xjinh dans le forum Modules
    Réponses: 3
    Dernier message: 15/11/2005, 17h43
  5. Temps d'exécution des instructions FPU
    Par ubi dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/10/2003, 18h39

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