2010-08-30 6 views
0

Lorsque je supprime la première ligne d'une table html, IE8 laisse une ligne vide à la fin de la table (après le pied de page).deleterow ie8 problème

J'utilise la méthode: objTable.deleteRow(objRow.rowIndex);

Ma table utilise les éléments de tag: thead, tbody, tfoot.

+0

Quelle bibliothèque Javascript utilisez-vous? Je ne crois pas 'deleteRow' est une fonction Javascript réelle ... –

+1

@Topher:' deleteRow' est une [méthode DOM] (http://www.w3.org/TR/2000/WD-DOM-Level- 1-20000929/level-one-html.html # ID-64060425). – Helen

+0

@Helen - Eh bien, comment ça ... Je ne m'attendais pas à faire partie du DOM. Je suppose que je devrais lire ça bientôt. –

Répondre

1

Utilisez-vous YUI? Si c'est le cas, vous pouvez consulter le http://developer.yahoo.com/yui/examples/datatable/dt_rowadddelete.html et utiliser leur exemple pour voir si vous rencontrez les mêmes problèmes dans votre navigateur. Si vous le faites, c'est probablement le problème IE8 (le plus probable) ou un problème YUI.

Vous pouvez également essayer quelque chose comme jQuery. Beaucoup plus léger, et est compatible avec plusieurs navigateurs.

0

Vous pouvez essayer de réinitialiser la classe de table et mettre en place à nouveau (avec prototype js, mais vous pouvez le faire par des mains):

// Hack. ie8 leaves a blank line at the end of the table, when delete the first row in a html table. 
// http://stackoverflow.com/questions/3604183/deleterow-ie8-problem 
if (Prototype.Browser.IE && ROW_YOU_DELETE_INDEX == 0) { 
    YOUR_TABLE.removeClassName('YOUR_TABLE_CLASS_NAME') 
       .addClassName('YOUR_TABLE_CLASS_NAME'); 
}