Bonjour à tous,

J'utilise jQuery pour gérer l'affichage d'une ligne de tableau. En résumé, l'utilisateur clique sur un bouton placé dans un <td> d'une ligne <tr> de 2 colonnes. Cela fait apparaître une ligne en dessous, un <td> unique de colspan=2.
L'appel jQuery est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$('#ma_ligne').show(300);
Mon problème vient ce que jQuery affecte la propriété css display:block à la ligne qui reçoit le show. Du coup, le résultat est incorrect sous FF, Opera, etc... (mais pas sous IE7) : la nouvelle ligne ne s'étend que sur la largeur d'une colonne au lieu d'occuper toute la place disponible.

Vous pouvez tester vous-même le comportement avec le bout de code HTML suivant si vous avez des doutes :

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
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml" lang="fr">  
  <head>		 		     
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />		     
    <style type="text/css">
	.line_one { background : lime; }
	.line_two {background : red; }
    </style>
  </head>
  <body>    	  
 
    <table>			                                                           
      <tr class="line_one">				                                                   
        <td>colonne 1</td>                                                           
        <td>colonne 2</td>                                                  
      </tr>	
 
      <tr class="line_two" style="display: block;">			                     
        <td colspan="2">7777777777777777777</td>                                  
      </tr>			       
    </table>  
  </body>
</html>
Comment puis-je faire alors pour utiliser ce genre d'effets animés sur un élément de tableau ????