H
Howard Jess
CLJ --
I've searched the newsgroup and FAQ for info on insertRow(), but
didn't see this reported.
It seems that Internet Explorer doesn't respond correctly to either
insertRow() or insertCell(), if the object that calls this method isn't
already within a table. That is:
row = tbody.insertRow(0); // fails if tbody's parent is null
cell = row.insertCell(0); // fails if row's parent or grandparent is null
By "fail", I mean the method returns null. As I understand the DOM spec,
this behavior is wrong. Am I missing something? Mozilla, Opera, and
Safari work as expected.
Thanks for any help.
Howard Jess
Test file:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>Table API test</title>
<style type="text/css">
table{border:1px dotted #999;margin:2px;background-color:#ddd}
</style>
<script type="text/javascript">
function buildTable(divid) {
var row,cell,tbody,table;
tbody = document.createElement('tbody');
row = tbody.insertRow(0);
cell = row.insertCell(0);
cell.appendChild(document.createTextNode('tablecell'));
table = document.createElement('table');
table.appendChild(tbody);
document.getElementById(divid).appendChild(table);
return false;
}
</script>
</head><body>
<h1>Table API Test</h1>
<div id="tableDiv"></div>
<form action="" onsubmit="return buildTable('tableDiv')">
<p><input type="submit" value="Build Table"></p>
</form></body></html>
I've searched the newsgroup and FAQ for info on insertRow(), but
didn't see this reported.
It seems that Internet Explorer doesn't respond correctly to either
insertRow() or insertCell(), if the object that calls this method isn't
already within a table. That is:
row = tbody.insertRow(0); // fails if tbody's parent is null
cell = row.insertCell(0); // fails if row's parent or grandparent is null
By "fail", I mean the method returns null. As I understand the DOM spec,
this behavior is wrong. Am I missing something? Mozilla, Opera, and
Safari work as expected.
Thanks for any help.
Howard Jess
Test file:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>Table API test</title>
<style type="text/css">
table{border:1px dotted #999;margin:2px;background-color:#ddd}
</style>
<script type="text/javascript">
function buildTable(divid) {
var row,cell,tbody,table;
tbody = document.createElement('tbody');
row = tbody.insertRow(0);
cell = row.insertCell(0);
cell.appendChild(document.createTextNode('tablecell'));
table = document.createElement('table');
table.appendChild(tbody);
document.getElementById(divid).appendChild(table);
return false;
}
</script>
</head><body>
<h1>Table API Test</h1>
<div id="tableDiv"></div>
<form action="" onsubmit="return buildTable('tableDiv')">
<p><input type="submit" value="Build Table"></p>
</form></body></html>