La variable PHP $case_actuelle est en fait le résultat de la construction dynamique du tableau et retourne les coordonnées de chaque cellule du tableau.
Le problème, c'est que je suis obligé d'insérer ce code dans chaque <td>, or j'en ai 10 000 dans mon tableau^^. Donc c'est trèèèès long à afficher.
Y aurait-il un moyen de récupérer les coordonnées de chaque cellule d'une autre manière, sans être obligé de mettre un code dans chaque <td>. L'objectif final est de faire apparaître un texte au dessus de chaque cellule lors de son survol.
En regle général c'est toujours comme ca.
Ensuite en JS c'est ca qui est magique : Sur le TABLE, tu as 3 attributs qui sont des nodeLists qui pointent vers les élements suivants : table.tBodies ==> nodelist(array) qui reference tous les tbody du tableau
table.tHeads ==> nodelist(array)qui reference tous les thead du tableau
table.tFoots ==> nodelist(array)qui reference tous les tfoot du tableau
Ensuite pour chaque tbody/thead/tfoot, il y a une nodelist/array qui pointe sur chaque TR : tbody.rows
Ensuite sur chaque TR tu as aussi une node liste qui référence toutes les Cellules de la ligne : tr.cells et aussi un index qui indique la position du TR dans le tbody/thead/tfoot : tr.rowIndex
Ensuite pour les cellules tu as un attribut qui indique la position de la cellule dans le TR : td.cellIndex.
Donc si tu veux connaitre la position d'une cellule dans un tableau :
<td onclick="getCoord(this)">test</td>
function getCoord(cell) {
return [cell.parentNode.rowIndex, cell.cellIndex];
}
getCoord te retourne un array contenant les coordonnées ligne, colonne de la cellule
Hey mais con que je suis ma réponse n'est pas la bonne par rapport à ton besoin, puisque toi tu cherches juste à afficher cacher le div à l'intérieur de ta cellule, tu n'as pas besoin de passer par des getElementById et autre pitreries de ce genre, et puis tu aurais pu passer par une fonction, c'est quand même bien plus simple
CSS :
Code :
.cellule {visibility:hidden}
Mieux vaut utiliser le visibility que le display dans ton cas puisque ca permet au block de garder la place qu'il prend dans la cellule