Bonjour,
j'ai le code suivant qui m'affiche/efface juste la 1ère ligne après celle cliquée. Je sais que c'est normal mais j'ai besoin de plus.
Code html : 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"/>
 
        <script type="text/javascript">
$(document).ready(function(){
// We catch the event "click on a span with class starting with ''fold''".
    $(".fold_start").click(function(){
// We hide/show the div giving the subblock just after the line clicked.
        $(this).next().toggle();
    });
});
        </script>
    </head>
 
<body>
    <code>
        <table >
            <tr class="fold_start" style="cursor:pointer;">
                <td><pre>01</pre></td>
                <td><pre> - </pre></td>
                <td><pre>def function(bidon):</pre></td>
            </tr>
            <tr>
                <td><pre>02</pre></td>
                <td></td>
                <td><pre>    """</pre></td>
            </tr>
            <tr>
                <td><pre>03</pre></td>
                <td></td>
                <td><pre>    Un petit commentaire...</pre></td>
            </tr>
            <tr>
                <td><pre>04</pre></td>
                <td></td>
                <td><pre>    """</pre></td>
            </tr>
            <tr>
                <td><pre>05</pre></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <td><pre>06</pre></td>
                <td></td>
                <td><pre>    print('Cette fonction est bidon...')</pre></td>
            </tr>
            <tr class="fold_start" style="cursor:pointer;">
                <td><pre>07</pre></td>
                <td><pre> - </pre></td>
                <td><pre>    for i in range(5):</pre></td>
            </tr>
            <tr>
                <td><pre>08</pre></td>
                <td></td>
                <td><pre>        print(i)</pre></td>
            </tr>
            <tr>
                <td><pre>09</pre></td>
                <td></td>
                <td><pre>        print(i**2)</pre></td>
            </tr>
            <tr class="fold_end">
                <td><pre>10</pre></td>
                <td></td>
                <td><pre># Fin du code...</pre></td>
            </tr>
        </table>
    </code>
</body>
Voilà ce que j'aimerais faire. Lorsque l'utilisateur clique sur une ligne de type "fold_start", je voudrais pouvoir parcourir toutes les lignes qui suivent pour les effacer une à une suivant les deux règles suivantes (je saurais faire cela seul je pense) :
  1. Tant qu'une ligne n'est pas de type "fold_end", on l'efface. Au passage, on compte aussi les lignes de type "fold_start".
  2. Si on tombe sur une ligne de type "fold_end", on s'arrête sauf si le nombre de lignes de type "fold_start" rencontrées n'est pas zéro.


Côté jQuery, j'ai donc besoin de deux choses :
  1. Parcourir dans le tableau toutes les lignes se trouvant après la ligne cliquée.
  2. Récupérer le nom de la classe de la ligne "parcourue" si elle en a une.