J'ai un tableau HTML qui énumère divers articles. Chaque <tr>
a un unique title
mais certains éléments sont liés et ces rangées partagent le même titre. J'essaie d'écrire un code jQuery qui analyserait ce tableau et convertirait uniquement les éléments ayant le même titre en un simple accordéon, puis injecterait une nouvelle rangée cliquable juste au-dessus d'eux, qui utiliserait le titre partagé comme contenu et ferait basculer les éléments liés en cas de clic.
Voici un exemple de tableau, avant conversion, où les éléments "orange" sont liés :
<table>
<tr title="Banana">
<td>Document 1</td>
</tr>
<tr title="Apple">
<td>Document 2</td>
</tr>
<tr title="Orange">
<td>Document 3</td>
</tr>
<tr title="Orange">
<td>Document 4</td>
</tr>
<tr title="Orange">
<td>Document 5</td>
</tr>
<tr title="Lemon">
<td>Document 6</td>
</tr>
<tr title="Cherry">
<td>Document 7</td>
</tr>
</table>
C'est ce que j'essaie de convertir en cette table. En fait, je cache les éléments liés et j'utilise une nouvelle ligne créée au-dessus d'eux pour les afficher ou les cacher :
<table>
<tr title="Banana">
<td>Document 1</td>
</tr>
<tr title="Apple">
<td>Document 2</td>
</tr>
<tr title="Orange">
<td>Orange (click to toggle)</td>
</tr>
<tr title="Orange" style="display:none;">
<td>Document 3</td>
</tr>
<tr title="Orange" style="display:none;">
<td>Document 4</td>
</tr>
<tr title="Orange" style="display:none;">
<td>Document 5</td>
</tr>
<tr title="Lemon">
<td>Document 6</td>
</tr>
<tr title="Cherry">
<td>Document 7</td>
</tr>
</table>
Note 1 : Le titre peut être n'importe quoi. J'utilise simplement "Orange" comme exemple ici, mais en réalité, le titre peut même être composé de plusieurs mots.
Note 2 : Les éléments connexes seront empilés les uns après les autres.
Quel serait le moyen le plus simple d'y parvenir ?