Hallo,
soweit ich das sehe, hängt der Fehler im IE damit zusammen, daß er den DOM-Baum zum Zeitpunkt, wo das Script ausgeführt wird, noch nicht komplett geladen hat.
Ich habe Deinen Code mal so umgebaut, daß das Javascript im HTML-Head steht und erst bei onload aufgerufen wird.
Außerdem habe ich mir mal erlaubt, Deine Funktion getValue() ein wenig zu straffen (s.u.).
;)
So klappt es bei mir auch im IE.
Übrigens: sollte Dir onload nicht passen, weil dieses Ereignis zu spät gefeuert wird, dann schau mal unter http://www.zelph.com/archives/2005/03/31/introducing-ondomload/.
Ciao,
Andreas
<html>
<head>
<script type="text/javascript">
<!--
function getHeader(search)
{
var count= 0;
var header= document.getElementsByTagName("th")[0];
while(header)
{
if(header.tagName == "TH" )
{
count++;
if(header.firstChild.data == search)
{
break;
}
}
header= header.nextSibling;
}
return count;
}
function getValue(zeilen, position)
{
var row = document.getElementsByTagName('TR')[zeilen];
var cell = row.getElementsByTagName('TD')[position-1];
return cell.firstChild.data;
}
function getValueOf(header,zeile)
{
return getValue(zeile,getHeader(header));
}
-->
</script>
</head>
<body onload="alert(getValueOf('Test2',2));">
<table border>
<tr>
<th>Test</th>
<th>Neu</th>
<th>Test2</th>
</tr>
<tr>
<td>1-1</td>
<td>1-2</td>
<td>1-3</td>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
<td>2-3</td>
</tr>
<tr>
<td>3-1</td>
<td>3-2</td>
<td>3-3</td>
</tr>
</table>
</body>
</html>