La méthode HTMLTableElement.insertRow() insère une nouvelle ligne dans la table et retourne une référence à la nouvelle ligne.

Syntaxe

var ligne = HTMLTableElement.insertRow(optionnel indice = -1);
  • HTMLTableElement est une référence à un élément table HTML.
  • indice est l'indice de ligne de la nouvelle ligne.
  • ligne reçoit la référence à la nouvelle ligne. Une référence à un HTMLTableRowElement. Si l'indice est -1 ou est égal au nombre de lignes, la ligne est ajoutée comme dernière ligne. Si indice est plus grand que le nombre de lignes, une exception IndexSizeError sera générée. Si indice est omis, sa  valeur sera -1 par défaut.
  • Si une table a plusieurs éléments tbody, par défaut, la nouvelle ligne est ajoutée dans le dernier tbody. Pour insérer la ligne dans un tbody particulier :
    var tbody_particulier=document.getElementById(id_tbody);
    var ligne=tbody_particulier.
    insertRow(indice)

Exemple

<table id="TableA">
<tr>
<td>Ancienne ligne supérieure</td>
</tr>
</table>
<script type="text/javascript">

function ajouteLigne(tableID) {
  // Récupération d'une référence à la table
  var refTable = document.getElementById(tableID);

  // Insère une ligne dans la table à l'indice de ligne 0
  var nouvelleLigne = refTable.insertRow(0);

  // Insère une cellule dans la ligne à l'indice 0
  var nouvelleCellule = nouvelleLigne.insertCell(0);

  // Ajoute un nœud texte à la cellule
  var nouveauTexte = document.createTextNode('Nouvelle ligne supérieure')
  nouvelleCellule.appendChild(nouveauTexte);
}

// Appelle ajouteLigne() avec l'ID d'une table
ajouteLigne('TableA');

</script>

Pour être valide dans un document HTML, un élément TR doit avoir au moins un élément TD.

Remarquez que insertRow insère directement la ligne dans la table et renvoie une référence à la nouvelle ligne. La ligne n'a pas besoin d'être ajoutée séparement comme cela aurait été le cas si document.createElement() avait été utilisé pour créer un nouvel élement TR.

Spécifications

Spécification Statut Commentaire
HTML Living Standard
La définition de 'HTMLTableElement.insertRow()' dans cette spécification.
Standard évolutif  
Document Object Model (DOM) Level 2 HTML Specification
La définition de 'HTMLTableElement.insertRow()' dans cette spécification.
Obsolete Spécifie plus en détail où la ligne est insérée.
Document Object Model (DOM) Level 1 Specification
La définition de 'HTMLTableElement.insertRow()' dans cette spécification.
Obsolete Définition initiale.

 

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support de base 4 (Oui) 3[1] 5.5 10 4
Fonctionnalité Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base ? (Oui) ? ? ? ?

[1] A partir de Gecko 20.0 (Firefox 20.0 / Thunderbird 20.0 / SeaMonkey 2.17), l'argument indice a été rendu optionnel et a -1 comme valeur par défaut d'après la spécification HTML.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : WeWantMiles, NemoNobobyPersonne, fscholz, teoli, AshfaqHossain, Restimel
Dernière mise à jour par : WeWantMiles,