oui, je trouve plein d'exemples de la fonction clone et la doc est bien détaillée :
https://api.jquery.com/clone/
mais curieusement elle ne propose aucun exemple sur des tableaux, juste sur des choses clonées horizontales.
Cloner une colonne suppose de cloner chaque td&th et de mettre chaque clone côté de chaque cible.
c'est pas parreil que cloner un groupe entier et de le mettre à côté d'un autre.
la sélection des td/th ne me pose pas de souci , je le vérifie en la masquant la colonne qui va être clonée pour tester (si je masque la bonne bonne colonne, c'est que je sélectionne la bonne, non ?)
$('#montableau td:nth-child(25),#montableau th:nth-child(25)').hide();
La difficulté vient de où je mets le contenu cloné !? c'est pas comme si je copiais la colonne dans un autre tableau vide, là c'est le même tableau...
$('#montableau td:nth-child(25),#montableau th:nth-child(25)').clone().appendTo( "??????" );
j'ai découvert qu'on pouvait sélectionner la 1ere colonne , la mettre en rouge par exemple:
$('#montableau tr td:first-child,#montableau tr th:first-child').css('background-color', 'red');
Du coup, j'ai joué au cascadeur et j'ai tenté de Prepender le clone de la dernière colonne juste avant la 1ere colonne :
$('#montableau td:nth-child(25),#montableau th:nth-child(25)').clone().prependTo('#montableau tr td:first-child,#montableau tr th:first-child');
qui ne marche évidemment pas !
j'ai aussi tenté de Appender la clone au début du tag tableau :
$('#montableau td:nth-child(25),#montableau th:nth-child(25)').clone().appendTo( '#montableau');
Comme les cellules sont inscrites de façon linéaires dans le code HTML, c'est impossible d'utiliser .clone ! ça me parait évident qu'on ne puisse pas car dans le navigateur on ne peut pas mettre en surbrillance une colonne (ou copier son contenu dans le presse-papier) sans prendre tout le tableau !
Je vais brainstormer sur une autre méthode (cloner chaque dernière cellule afin de créer une colonne doublon et ensuite déplacer cette colonne....) Toute une aventure..
Partager