Thomas: DOM - Tabelleninhalt auslesen. Klappt nicht im IE?!?!

Beitrag lesen

Hallo,

ich habe mir ein JavaScript geschrieben, was mit bestimmte Zellen einer Tabelle auslesen kann.

Das Funktioniert folgendermaßen:

die tabelle muss th und td tags besitzen.
zum auslesen des wertes muss die funktion getValueOf("Test2",2) aufgerufen werden.
der 1. parameter sucht nach der spalte mit dem th-inhalt "Test2". in der beispielseite ist das die letzte spalte. der 2. parameter sagt welche zeile ausgelesen werden soll. in unserem fall die 2. bei der zeilenanzahl wird der header nicht mitberücksichtigt.
und schon haben wir unsere kordinaten mit denen die gesuchte zelle ausgelesen werden kann.

leider funktioniert das ganze nur im firefox. habe aber keine ahnung woran das liegt, kann mir vielleicht einer sagen was ich falsch mache??

<html>  
<head></head>  
<body>  
  
<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>  
  
  
<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 header= document.getElementsByTagName("th")[0].parentNode;  
  
  for(var i=0; i<zeilen; i++)  
  {  
    do  
    {  
       header= header.nextSibling;  
    }  
    while(header.tagName != "TR");  
  }  
  
  header= header.firstChild;  
  
  for(var i=0; i<position; )  
  {  
    if(header.tagName != "TD" )  
    {  
      i++;  
    }  
    header= header.nextSibling;  
  }  
  
  
  return header.firstChild.data;  
  
}  
  
  
function getValueOf(header,zeile)  
{  
  return getValue(zeile,getHeader(header));  
}  
  
  
  
alert(getValueOf("Test2",2));  
  
  
-->  
</script>  
  
  
  
</body>  
</html>