Partage
  • Partager sur Facebook
  • Partager sur Twitter

Performance d'accée DOM

    9 septembre 2010 à 2:23:01

    Bonsoir,
    Avec un script je génère une page dynamiquement. j'ai le choix pour modifier certaine variable d'utiliser le dom de la page ou directement la concaténation (oui ca demande un effort d'imagination sans exemple)
    Bref, est ce que l'utilisation du dom demande beaucoup de ressource , pour pouvoir choisir?
    merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      9 septembre 2010 à 5:42:55

      ne te casse pas la tête avec qui demande plus de ressources que l'autres, par ce que la deuxieme methode utilise le DOM elle aussi.

      utilise celle qui est plus facile pour toi.
      • Partager sur Facebook
      • Partager sur Twitter
        9 septembre 2010 à 7:41:36

        Salut,
        Ta question c'est est-ce 'que choisir entre innerHTML et le DOM' ? Dans ce cas tout dépend du type de contenu que tu dois insérer. Lis ceci pour quelques précision : http://www.siteduzero.com/tutoriel-3-1 [...] tml#ss_part_7
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          9 septembre 2010 à 8:39:30

          si t'as plusieurs centaines d'éléments à rajouter ou remplacer utilise innerHTML dans tous les autres cas utilise le DOM classique.

          Après ça dépend de ce que tu veux faire. Donne plus de précisions.
          • Partager sur Facebook
          • Partager sur Twitter
            9 septembre 2010 à 13:54:02

            Merci pour ton liens Lcaba,je viens de me rendre compte que je croyais bêtement que
            innerhtml utilisais le dom!
            Cependant faut savoir au préalable que j'utilise jquery. donc pas d'innerhtml , mais
            $('').html(); à la place.
            Pour être plus clair, voici une démonstration:
            Cette phrase apparait sur le site quand on clique sur un bouton:

            <div id="exemple"> Prenons <strong id="gras">l'exemple</strong> de cette <div id="element">phrase . </div>
            


            j'hésite entre:

            $('#conteneur').html("<div id=\"exemple\"> Prenons <strong id=\"gras\">l\'exemple</strong> de cette <div id=\"element\">phrase . </div>");
            $('#gras').html('la demonstration');
            $('#element').html('image');
            document.getElementById("exemple").setAttribute("onClick","option(1)");
            


            et
            var gras= "la demonstration";
            var element = "image";
            exemple = "onclick="option(1)";
            $('#conteneur').html("<div id=\"exemple " +exemple+ " \"> Prenons <strong id=\"gras\"> " +gras+ "</strong> de cette <div id=\"element\">" +element+ " . </div>");
            
            • Partager sur Facebook
            • Partager sur Twitter
              9 septembre 2010 à 15:57:10

              tu nous fais une démo de ce que c'est jQuery ? ou est ce que ça doit aider à comprendre ton problème ?

              au fait $.html c'est quelques manies+innerHTML, donc innerHTML c'est beaucoup plus rapide.

              et puis innerHTML utilise le Dom !
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                9 septembre 2010 à 16:12:06

                Mouais c'est limite ce que tu dis m'enfin.
                • Partager sur Facebook
                • Partager sur Twitter
                  9 septembre 2010 à 16:40:20

                  Citation : atj

                  innerHTML utilise le Dom



                  J'ai un gros doute là dessus ...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 septembre 2010 à 17:07:19

                    Citation : loacast

                    Citation : atj

                    innerHTML utilise le Dom



                    J'ai un gros doute là dessus ...




                    sur quoi un applique innerHTML ? sur un élément du DOM.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 septembre 2010 à 17:47:39

                      Ha donc , finalement innerHTML utilise bien le dom comme je le pensais a la base.
                      Donc finalement, l'exécution doit être plus rapide avec mon deuxième exemple (qui n'utilise qu'une fois le dom) , qu'avec mon premier (qui l'utilise 4 fois) ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 septembre 2010 à 17:49:11

                        Hum alors oui mais non.

                        DOM est une spécification, c'est comme si tu me disais un élément SAX est avant tout un élément du DOM HTML donc SAX fait partie du DOM.

                        Attention aux raccourcis logiques !

                        Sinon pour répondre à la question d'origine, ce lien est tip top :

                        http://performance.survol.fr/2008/06/d [...] es-innerhtml/
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Performance d'accée DOM

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown