Warum kann der IE keine tabellen ansprechen?

con-f-use

Erfahrenes Mitglied
Hallo zusammen,

ich hab zur Zeit wieder ein kleines Problem:

HTML:
<html><head><title>Zeile in Tabelle einfügen: IE-Problem</title>
   
   <script type="text/javascript"><!--
   
   	function los() {
 	 document.getElementById("art").innerHTML += "<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>";;
   	}
   
   //--></script></head><body>
   
   <table id="art">
   	<tr>
   		<td><b>1</b></td>
   		<td><b>2</b></td>
   		<td><b>3</b></td>
   		<td><b>4</b></td>
   	</tr>
   </table>
   
   <input type="button" onclick="los()" value="Los!">
   
   </body></html>
Funktioniert ohne Probleme in allen Browsern bis auf den geschissen IE. Der gibt einen "Unbekannter Laufzeitfehler" zurück und gibt sogar bisweilen den Geit komplett auf.
 
Zuletzt bearbeitet:
Hi,

der IE hat scheinbar in der Tat Probleme, dem Inneren einer Tabelle html zuzuweisen (zumal er auch noch <tbody></tbody> Tags ausgibt. Folgender "Workaround" sollte allerdings funktionieren:
HTML:
  <script type="text/javascript"><!--
  
  	function los() {
 	 	document.getElementById("art").innerHTML += "<table><tr><td>1</td><td>2</td><td>3</td><td>4</td></tr></table>";
	}  
  //--></script>
  </head><body>
  
  <div id="art">
  	<table>
  	<tr>
  		<td><b>1</b></td>
  		<td><b>2</b></td>
  		<td><b>3</b></td>
  		<td><b>4</b></td>
  	</tr>
  </table>
  </div>
  
  <input type="button" onclick="los()" value="Los!">
  
  </body></html>
... aber Frag mich nicht, wieso Deine Variante nicht geht. ;)

Gruß
.
 
Hehe, schön wenn's so einfach wäre, geht aber leider auch nicht. Wieder "Unbekannter Laufzeitfehler". Trotzdem danke!

So langsam muss ich sagen nervt mich der IE ganz gewaltig - es kann doch nicht sein das so ein Glump der Nummer-Eins-Browser ist.

Jemand noch Ideen? Sven, du bist angesprochen ;)

Edit: Funktioniert doch, hab mich geirrt - ist aber nicht ganz das, was ich wollte - zur Not geht's aber wenn jemand weiß wie man's eleganter lösen köntte, möge er es doch bitte sagen.
Danke Datic!
 
Zuletzt bearbeitet:
Um im IE den Inhalt von Tabellen(tr,td) zui ändern, verwende die Methoden insertRow()/insertCell() bzw. deleteRow()/deleteCell().... diese Methoden sind im Gegensatz zur innerHTML-Eigenschaft regulärer Javascript-Bestandteil.

<edit>ja, bin ja schon am tippen :)</edit>
 
Zurück