romero: Löschen einer TR erzeugt eine Zwischenzeile

Beitrag lesen

Und wenn sich Änderungen auf den Umfang der NodeList auswirken, weil man Elemente löscht, dann hat man schnell ein Problem, wenn man diese vom ersten bis zum letzten Element durchlaufen will. Einfacher, primitiver Workaround - nicht vom ersten bis zum letzten Element durchlaufen, sondern andersherum vom letzten bis zum ersten.

aber wie bau ich diese schleife um, so dass diese funcktionalität erhalten bleibt?

hab es so versucht (auch unter google nix passendes gefunden):

			for( var i = ZusatzListeItems.length; i > 0; i-- )  
			{  
				var ZusatzListeItem = ZusatzListeItems[i];  
  
				ZusatzListeItem.onclick = function(i) {  
							return function() {  
										infile_zusatz_anzahl_tmp.splice( i, 1, (infile_zusatz_anzahl_tmp[i]-1) );  
										var newTDText = infile_zusatz_anzahl_tmp[i];  
  
										//alert( infile_zusatz_anzahl_tmp[i] + ' // ' + i + ' // ' + ZusatzListeItems.length );  
  
										document.getElementById( i ).firstChild.replaceData( 0, document.getElementById( i ).firstChild.nodeValue.length, newTDText );  
  
										if( infile_zusatz_anzahl_tmp[i] == 0 )  
										{  
											//while( TAB.getElementsByTagName( "tr" )[i].childNodes.length > 0 )  
											//{  
											//	TAB.getElementsByTagName( "tr" )[i].removeChild( TAB.getElementsByTagName( "tr" )[i].firstChild );  
											//};  
  
											TAB.getElementsByTagName( "tr" )[i].parentNode.removeChild( TAB.getElementsByTagName( "tr" )[i] );  
										};  
									};  
								}(i);  
			};

aber da ist ZusatzListeItem 'undefined'.

denn "i" soll ja die gesamtlänge von ZusatzListeItems sein, also aller "input's". dann muss i zurück auf 0 laufen und i-- zählt ja rückwärts oder?

nur wie gesagt, mit dieser variante macht er nix.

wie lasse ich also diese schleife rückwärts laufen?

lg romero