Edgar Ehritt: DIV-Inhalte austauschen

Beitrag lesen

Hallo Bert,

wie bereits geschrieben, ist der Gebrauch von innerHTML Geschmackssache. Du kannst es hier als einfache Alternative zum DOM nutzen:

function beitrag(element){  
	var div        =element.parentNode.getElementsByTagName('div')[0];  
	var text       =div.innerHTML  
	var textarea   =document.createElement('textarea')  
	textarea.value =text  
	element.value  ="SAVE"  
	element.onclick=""  
	  
	while(div.firstChild){  
		div.removeChild(div.firstChild)  
	}  
	div.appendChild(textarea);  
}

Wenn Du über DOM arbeiten magst, könnte eine Lösungsvariante so aussehen:

function plain_HTML(element){  
	var text ="";  
	var clone=element.cloneNode(true);  
	while(clone.firstChild){  
		if(clone.firstChild.nodeType==3){  
			text+=clone.firstChild.nodeValue;  
		}  
		else{  
			node=clone.firstChild.nodeName  
			text+="<"+clone.firstChild.nodeName+">";  
			text+=plain_HTML(clone.firstChild);  
			text+="</"+clone.firstChild.nodeName+">";  
		}  
		clone.removeChild(clone.firstChild)  
	}  
	return(text);  
}  
function beitrag(element){  
	var div		=element.parentNode.getElementsByTagName('div')[0];  
	var textarea	=document.createElement('textarea');  
	textarea.value	=plain_HTML(div);  
	element.value	="SAVE"  
	element.onclick	=""  
  
	while(div.firstChild)  
		div.removeChild(div.firstChild);  
  
	div.appendChild(textarea);  
}

Das ist leider nunmehr alles andere als -mal eben so- aus dem Ärmel geschüttelt. Aller Anfang ist schwer und ich bitte Dich, die Beispiele selbständig anhand der verschiedenen Verweise hier im Thread nachzuvollziehen und natürlich auch Dich auszuprobieren. ;)

Gruß aus Berlin!
eddi

--
VEB Opel, Geruchsproben und Stasi 2.0, Zensur...
IHR WOLLTET MERKEL!