Bonjour,
J'ai une fonction javascript (qui fonctionne), elle permet de faire un sommaire automatique en se basant sur les titres et les sous-titres (h1 et h2).
J'aimerais l'adapter pour qu'elle fonctionne jusqu'au h6.
Voici la fonction :
Pouvez-vous m'aider pour l'adapter SVP ? Est-ce qu'il faut rajouter des tests if jusqu'à h6 comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 function numerotation_automatique() { var numParagraphe=1; var numSsParagraphe = 1; le_sommaire = document.getElementById("sommaire"); regex_br = /<br ?\/?>/g; sommaire=""; mode="H1"; for (i=0; i<document.getElementsByTagName("*").length; i++) { balise = document.getElementsByTagName("*")[i]; titre = balise.innerHTML; if (balise.tagName=="H1") { if (mode=="H2") sommaire = sommaire + "</ul>\n"; if (le_sommaire) sommaire = sommaire + "<li><a href=#ch" + numParagraphe + ">" + titre.replace(regex_br, ' ') + "</a></li>\n"; document.getElementsByTagName("*")[i].innerHTML = "<a name=ch" + numParagraphe + "></a><table><tr><th>" + numParagraphe++ + "</th><td>" + titre + "</td></tr></table>" ; i += 4; mode = balise.tagName; } else if (balise.tagName=="H2") { if (mode=="H1") sommaire = sommaire + "<ul>"; sommaire = sommaire + "<li><a href=#chSs" + numSsParagraphe + ">" + titre + "</a></li>\n"; document.getElementsByTagName("*")[i].innerHTML = "<a name=chSs" + numSsParagraphe++ + "></a>" + titre ; mode = balise.tagName; } } if (mode=="H2") sommaire = sommaire + "</ul>"; le_sommaire.innerHTML = "<div class='sommaire'><h3><span>Sommaire...</span></h3><ul>" + sommaire + "</ul></div>"; }?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 else if (balise.tagName=="H3") { if (mode=="H2") sommaire = sommaire + "<ul>"; sommaire = sommaire + "<li><a href=#chSs" + numSsParagraphe + ">" + titre + "</a></li>\n"; document.getElementsByTagName("*")[i].innerHTML = "<a name=chSs" + numSsParagraphe++ + "></a>" + titre ; mode = balise.tagName; } else if (balise.tagName=="H4") { if (mode=="H3") sommaire = sommaire + "<ul>"; sommaire = sommaire + "<li><a href=#chSs" + numSsParagraphe + ">" + titre + "</a></li>\n"; document.getElementsByTagName("*")[i].innerHTML = "<a name=chSs" + numSsParagraphe++ + "></a>" + titre ; mode = balise.tagName; } else if (balise.tagName=="H5") { if (mode=="H4") sommaire = sommaire + "<ul>"; sommaire = sommaire + "<li><a href=#chSs" + numSsParagraphe + ">" + titre + "</a></li>\n"; document.getElementsByTagName("*")[i].innerHTML = "<a name=chSs" + numSsParagraphe++ + "></a>" + titre ; mode = balise.tagName; } else if (balise.tagName=="H6") { if (mode=="H5") sommaire = sommaire + "<ul>"; sommaire = sommaire + "<li><a href=#chSs" + numSsParagraphe + ">" + titre + "</a></li>\n"; document.getElementsByTagName("*")[i].innerHTML = "<a name=chSs" + numSsParagraphe++ + "></a>" + titre ; mode = balise.tagName; }








Répondre avec citation
Partager