Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur la modification des attributs d'une balise

Sujet résolu
    8 juillet 2010 à 17:50:04

    Bonjour,

    dans le tutoriel sur le dhtml l'auteur présente cette façon de faire pour modifier les attributs d'une balise fraichement créée :
    // ajout du nouveau contenu
    var img = document.createElement('img');
    img.setAttribute('src', 'english.jpg');
    img.setAttribute('alt', 'drapeau anglais');
    paragraphe.appendChild(img);
    


    Mais pourquoi passer par la methode setAttribute alors que l'on peu modifier directement les valeurs des attributs ainsi :

    // ajout du nouveau contenu
    var img = document.createElement('img');
    img.src = 'english.jpg';
    img.alt = 'drapeau anglais';
    paragraphe.appendChild(img);
    


    L'une des deux façons est incompatible sur certains navigateurs ? Ou bien est-ce une question de clarté ou de normes ? Et qu'en est-il des performances (si je veux créer des balises dans une boucle par exemple) ?

    Je vous remercie d'avance. :)


    edit : j'ai vu comment calculer le temps d'exécution d'une page et j'ai testé, la methode setAttribute est tout simplement 2 fois plus rapide ! o_O
    J'aurai plutôt pensé que c'était l'inverse, pourquoi est-ce plus rapide de se servir d'une methode plutôt que de modifier directement l'attribut ? Quelqu'un saurai m'expliquer ça ? :)
    • Partager sur Facebook
    • Partager sur Twitter
      8 juillet 2010 à 18:22:49

      Figure toi que c'est une bonne question.

      truc.src par exemple, je n'ai jamais vu d'incompatibilité même sous ie5.

      La seule fois où j'ai eu des incompatibilités, c'est genre je faisais du dev en xul, qui n'acceptait que le .setAttribute pour certain truc.

      Après je t'avoue que..
      • Partager sur Facebook
      • Partager sur Twitter

      Question sur la modification des attributs d'une balise

      × 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