MDN URL
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow
What specific section or headline is this issue about?
Intro, second paragraph
What information was incorrect, unhelpful, or incomplete?
If a table has multiple <tbody> elements, by default, the new row is inserted into the last <tbody>.
What did you expect to see?
According to the spec, that is only true if table.rows is empty. Otherwise, the table section into which the <tr> is inserted depends on the index. insertRow(i) inserts the new row into the parent of the table.rows[i] element. If the index is -1 or equal to the number of rows in table.rows, it is inserted into the parent of the last row.
I dug into this while debugging some JavaScript that was using table.insertRow(-1) to populate the body of a pre-existing HTML table which had a <thead> with one row and an empty <tbody>. According to the MDN docs, it should have appended the row to the <tbody>, but it was in fact appending it to the <thead>. But on reading the spec, it seems like Firefox is doing the right thing.
Do you have any supporting links, references, or citations?
https://html.spec.whatwg.org/multipage/tables.html#dom-table-insertrow
Do you have anything more you want to share?
No response
MDN metadata
Page report details
MDN URL
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow
What specific section or headline is this issue about?
Intro, second paragraph
What information was incorrect, unhelpful, or incomplete?
What did you expect to see?
According to the spec, that is only true if table.rows is empty. Otherwise, the table section into which the <tr> is inserted depends on the index. insertRow(i) inserts the new row into the parent of the table.rows[i] element. If the index is -1 or equal to the number of rows in table.rows, it is inserted into the parent of the last row.
I dug into this while debugging some JavaScript that was using table.insertRow(-1) to populate the body of a pre-existing HTML table which had a <thead> with one row and an empty <tbody>. According to the MDN docs, it should have appended the row to the <tbody>, but it was in fact appending it to the <thead>. But on reading the spec, it seems like Firefox is doing the right thing.
Do you have any supporting links, references, or citations?
https://html.spec.whatwg.org/multipage/tables.html#dom-table-insertrow
Do you have anything more you want to share?
No response
MDN metadata
Page report details
en-us/web/api/htmltableelement/insertrow