Span dynamique

Résolu/Fermé
xavwanted Messages postés 2 Date d'inscription lundi 12 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015 - 12 oct. 2015 à 00:58
xavwanted Messages postés 2 Date d'inscription lundi 12 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015 - 12 oct. 2015 à 14:42
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

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
xavwanted Messages postés 2 Date d'inscription lundi 12 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015
12 oct. 2015 à 14:42
Merci pour la résolution directe puis l'affinage en écartant document.write...
0