Element Löschen geht bei IE sofort, bei Firefox erst nach 4. Click?!

PHP Killer

Grünschnabel
Hi,
ich möchte eine Zeile aus einer Tabelle per Button löschen um später eine andere an dieser stelle wieder einzufügen.
Beim IE klappts ja auch super aber beim Firefox macht er es erst beim 4. Klick auf den Button?!

Hier die Tabelle:
Code:
<table id="tab1">		
	<form method="post">
		  <tr>
			<td><input type="button" name="aktion" value="Einsetzen" onClick="einsetzen();"></td>
			<td><inpu type="button" name="aktion" value="Abziehen!" onClick="abziehen();"></td>
		  </tr>
	</form>
</table>

Hier der Script:
Code:
function einsetzen()
	{
		//	Spalte mit Auswahl löschen
		document.getElementById("tab1").removeChild(document.getElementById("tab1").firstChild);
}
 
Probleme:
  1. Ein <form> hat innerhalb von <table> nichts zu suchen
  2. Auch ein Leerzeichen stellt schon einen Knoten dar
  3. Der erste Elementknoten einer Tabelle ohne THEAD ist immer TBODY(auch wenn es nicht notiert ist). Lass dir mal document.getElementById("tab1").innerHTML ausgeben... das ist es, was Javascript verarbeitet.

Die Lösung ist recht simpel, da sie aber kein DOM-Bestandteil ist, eher wenig bekannt:
Code:
document.getElementById("tab1").deleteRow(0);
Fertig, keine Probleme mit Knoten :-)
Noch dazu kompatibler, denn bspw. IE 5 erlaubt nicht das Manipulieren von Tabellen nach DOM-Methode.
 
Ich habe das Problem zwar in der Zwischenzeit auf eine andere Art gelöst aber trotzdem Danke für den Tip, kann ich gut gebrauchen :p

Probleme:

1. Ein <form> hat innerhalb von <table> nichts zu suchen
2. Auch ein Leerzeichen stellt schon einen Knoten dar

Noch eine Frage:
Wie meinst du das mit den Leerzeichen?
 
Bsp1:
Code:
<a><b>hallo</b></a>
Der erste Kindknoten des <a>-Elements ist das <b>-Element.

Bsp2:
Code:
<a> <b>hallo</b></a>
Der erste Kindknoten des <a>-Elements ist das Leerzeichen, welches dem öffnenden <a>-Tag folgt.
Das <b>-Element ist jetzt der 2. Kindknoten des <a>-Elements.
 

Neue Beiträge

Zurück