Infatti non so il perche ma inserisce un nodo prima della prima riga, uno dopo l'ultima e una tra ogni riga.
Questo spiega i tuoi 9 nodi.
Di più guardando il tipo dei nodi pari si vede con sono del tipo textNode ma che non contegono nulla .
Prova questo. Clicca una prima volta e poi una seconda.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<table summary="">
<tr id="tr1">
<td id="t1"><span id="s1">dddddddddddd</span></td>
<td id="t2">eeeeeeeeeeee</td>
<td id="t3">fffffffffffff</td>
</tr>
</table>
<input type="button" value="clicca" onclick="pippo()">
<script language="JavaScript" type="text/javascript">
<!--
function pippo() {
var oColl = document.getElementById('tr1');
for (i=0;i<oColl.childNodes.length;i++) {
if (oColl.childNodes[i].tagName != null) {
alert("tr1 con tagName : "+oColl.childNodes[i].id);
} else {
alert("tr1 senza tagName : "+oColl.childNodes[i].nodeValue);
oColl.childNodes[i].insertData(0, 'pippo') ;
}
}
}
//-->
</script>
</body>
</html>