Exodious
07-28-2004, 07:03 PM
<table id="test" style="width:200px;border: thin solid blue;">
<tr>
<td>
Test row 1
</td>
</tr>
</table>
Hi all, I have a table like above and want to use document.createElement to insert a new row at the end of the table before the close table tag, is this possible?
My efforts so far have resulted in the following html:
<table id="test" style="width:200px;border: thin solid blue;">
<tr>
<td>
Test row 1
</td>
</tr>
</TBODY>
<TR>
<TD>Test row 2</TD>
</TR>
Which doesn't display properly as table has already been closed
This is the code I've knocked up for the test so far:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<script>
function test(tableObj)
{
alert(tableObj.innerHTML);
//var newTable = document.createElement("table");
var newRow = document.createElement("tr");
var newCol = document.createElement("td");
newCol.innerText = "Test row 2";
newRow.insertBefore(newCol);
tableObj.appendChild(newRow)
alert(tableObj.innerHTML);
}
</script>
<body onload="test(document.all.test)">
<table id="test" style="width:200px;border: thin solid blue;">
<tr>
<td>
Test row 1
</td>
</tr>
</table>
</body>
</html>
Appreciate comments, thx
<tr>
<td>
Test row 1
</td>
</tr>
</table>
Hi all, I have a table like above and want to use document.createElement to insert a new row at the end of the table before the close table tag, is this possible?
My efforts so far have resulted in the following html:
<table id="test" style="width:200px;border: thin solid blue;">
<tr>
<td>
Test row 1
</td>
</tr>
</TBODY>
<TR>
<TD>Test row 2</TD>
</TR>
Which doesn't display properly as table has already been closed
This is the code I've knocked up for the test so far:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<script>
function test(tableObj)
{
alert(tableObj.innerHTML);
//var newTable = document.createElement("table");
var newRow = document.createElement("tr");
var newCol = document.createElement("td");
newCol.innerText = "Test row 2";
newRow.insertBefore(newCol);
tableObj.appendChild(newRow)
alert(tableObj.innerHTML);
}
</script>
<body onload="test(document.all.test)">
<table id="test" style="width:200px;border: thin solid blue;">
<tr>
<td>
Test row 1
</td>
</tr>
</table>
</body>
</html>
Appreciate comments, thx