Bonjour, j’suis paumée :’( (pas mal pour commencer ?)
J’vous explique j’ai un rendu à faire (celui-ci : rendu_DOM)
Et le probleme c’est que je n’arrive à rien
Voilà ce que j’ai fais pour le moment :
function generateTOC(){
var x = 0;
var n = 0;
var UL = [];
var dgb = document.getElementsByTagName('body')[0];
for(index=0; index<dgb.childNodes.length; index++){
if(dgb.childNodes.className == "exemple"){
var exe = dgb.childNodes;
break;
}
}
var sommaire = document.createElement("div");
sommaire.className = "TOC";
exe.insertBefore(sommaire,exe.childNodes[0]);
UL[x] = document.createElement('ul');
sommaire.appendChild(UL[x]);
for(index2=0; index2<exe.childNodes.length; index2++){
if(exe.childNodes[index2].className)
var n = exe.childNodes[index2].className.substr(5,1)*1;
if(n){
if(!UL[n]){
UL[n] = document.createElement('ul');
UL[n-1].appendChild(UL[n]);
}
var newLI = document.createElement('li');
UL[n].appendChild(newLI);
newLI.appendChild(ex.childNodes[index2].firstChild);
n=0;
}
}
}
window.onload = generateTOC();
Avec ce code, bah j’arrive à rien. C’est pour ça que j’viens demander l’aide de quelqu’un ici.
J’tiens à preciser qu’avant cet exo, je n’avais jamais vu le DOM, donc si des choses vous paraissent aberrantes … c’est normal
J’vous remercie d’avance pour toute aide de votre part
Bnojur,
ça veut juste dire qu’il ne trouve pas la propriété pour ton élément. Je n’ai jamais utilisé le modèle DOM, c’est intéressant, mais apparemment il y a une erreur:
dgb.childNodes[i].className existe mais pas dgb.childNodes.className: il ne trouve pas la propriété “classname”.
mais comme l’erreur porte sur dgbn c’est peut-être dbg.childnodes qu’il ne trouve pas.
des petites message de test pour débugger seraient bienvenus:
alert(‘test’+dbg.childnodes);
alert(‘test’+dbg.childnodes.length);
etc…