TEXTAREAの振る舞い

ブラウザによって全然違う

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<title>TEXTAREA TEST</title>
		<style type="text/css">
		textarea {
			width:40.0em;
			height:10.0em;
		}
		</style>
	</head>

	<body>
		<h1>TEXTAREA TEST</h1>
		<h2>Source</h2>
		<textarea id="source">
			<p>TEXTAREA TEST</p>
			<p>TEXTAREA TEST</p>
			<p>TEXTAREA TEST</p>
			<p>TEXTAREA TEST</p>
		</textarea>
		<h2>SET innerHTML</h2>
		<h3>from innerHTML</h3>
		<textarea id="test1-1"></textarea>
		<h3>from value</h3>
		<textarea id="test1-2"></textarea>
		<h2>SET value</h2>
		<h3>from innerHTML</h3>
		<textarea id="test2-1"></textarea>
		<h3>from value</h3>
		<textarea id="test2-2"></textarea>
		<h2>appendTextNode</h2>
		<h3>from innerHTML</h3>
		<textarea id="test3-1"></textarea>
		<h3>from value</h3>
		<textarea id="test3-2"></textarea>
		<h2>SET in DIV</h2>
		<h3>from innerHTML</h3>
		<div id="test4-1"></div>
		<h3>from value</h3>
		<div id="test4-2"></div>
	</body>
	<script type="text/javascript">
	
	var $ = function(id){
		return document.getElementById(id)
	}
	
	// GET SOURCE
	var text_i = $('source').innerHTML
	var text_v = $('source').value

	// SET TEXTAREA

	try {
		$('test1-1').innerHTML = text_i
	} catch(e) {
		alert('Error: SET innerHTML from innerHTML')
	}
	try {
		$('test1-2').innerHTML = text_v
	} catch(e) {
		alert('Error: SET innerHTML from value')
	}

	try {
	$('test2-1').value = text_i
	} catch(e) {
		alert('Error: SET value from innerHTML')
	}
	try {
	$('test2-2').value = text_v
	} catch(e) {
		alert('Error: SET value from value')
	}

	try {
	$('test3-1').appendChild(document.createTextNode(text_i))
	} catch(e) {
		alert('Error: appendTextNode from innerHTML')
	}
	try {
	$('test3-2').appendChild(document.createTextNode(text_v))
	} catch(e) {
		alert('Error: appendTextNode from value')
	}

	// SET DIV
	$('test4-1').innerHTML = text_i
	$('test4-2').innerHTML = text_v
	</script>
</html>