Span dynamique

Résolu
xavwanted Messages postés 2 Statut Membre -  
xavwanted Messages postés 2 Statut Membre -
Salut,
je cherche à créer des span dynamiquement via une boucle. Je galère à leur assigner des id :

for (var i=1; i<=7; i++)
{
var spanid = "numero"+i;

document.write("<span id=spanid>"+i+"</span>");
}

Le code est erroné, j'ai essayé plein de trucs, les backslash avant les guillemets... J'ai regardé sur plein de forums et je sèche complètement

Merci d'avance si quelqu'un a une piste !

1 réponse

  1. segatasenshiro
     
    Salut,
    Il y a une erreur car spanid est une variable et vous l'indiquez en texte:
    "<span id=spanid>"+i+"</span>") est faux
    "<span id="+spanid+">"+i+"</span>") est juste

    Ensuite oubliez document.write qui n'a aucune précision ni n'est vraiment utile:
    http://www.w3schools.com/jsref/met_node_appendchild.asp

    Qui donnerais un truc du genre:

    <!doctype html>
    <html lang="fr">
    <head>
    <meta charset=utf-8 >
    
    <head>
    <body>
    <h1>Titre</h1>
    <p id="macible">
    </p>
    <script>
    
    var ajouterSpan=function(nombredeboucles){
     for (var i=0; i<nombredeboucles; i++)
     {
     var node = document.createElement("span");
     node.setAttribute("id","numero"+i);
     var textnode=document.createTextNode(""+i);
     node.appendChild(textnode);
     document.getElementById("macible").appendChild(node);
     //console.log(i+"element="+node+"id="+node.id);
     }
    }
    ajouterSpan(8);

    </script>
    </body> 


    ça peut paraître un peu long mais c'est beaucoup plus propre/correct et simple à lire et modifier/réutiliser au final.
    0
    1. xavwanted Messages postés 2 Statut Membre
       
      Merci pour la résolution directe puis l'affinage en écartant document.write...
      0