Hallo,
var c=document.createTextNode(b.firstChild.nodeValue.substr(3,b.firstChild.nodeValue.length-7))
Ja, und genau deshalb würde ich die JavaScript-Spielerei mit dem NOSCRIPT-Element, dessen Kindelemente nur dann im Elementbaum hängen, wenn eben _kein_ JavaScript ausgeführt wird, unterlassen ;-).
Du hast sicherlich bemerkt, dass es das P-Element im NOSCRIPT-Element für JavaScript-DOM eben nicht gibt.
Du "möchtest" bitte so nett sein, da ich kein IE habe, für Kompatibilität zum IE zu sorgen.
Bitte:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Under Construction</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
function zeige_text(a,b){
var a=document.getElementById(a);
var b=a.getElementsByTagName('noscript')[b];
if(a.getElementsByTagName('div').length>0)
a.removeChild(a.getElementsByTagName('div')[0]);
var t = b.nodeValue;
//für Opera ist hier am NOSCRIPT weder firstChild noch innerHTML, muss auch nicht ;-)
if (b.firstChild) {
t = b.firstChild.nodeValue;
t = t.substr(3,t.length-7);
} else if (b.innerHTML) {
t = b.innerHTML.toString();
t = t.substr(3,t.length-7);
}
var c=document.createTextNode(t);
var d=document.createElement('div');
d.appendChild(c);
a.appendChild(d);
}
</script>
<style type="text/css">
li {text-decoration:underline;color:blue}
li:hover{color:red}
</style>
</head>
<body>
<ul> <li onclick="zeige_text('a1',0)">Hinterm Mond</li>
<li onclick="zeige_text('a1',1)">Wird alles gut?</li>
<li onclick="zeige_text('a2',0)">Was sagt Susi?</li>
<li onclick="zeige_text('a2',1)">Noch was</li>
</ul>
<div id="a1">
<h1>Hallo Welt!</h1>
<noscript><p>Es ist nur ein kleiner Text für ein Element. Aber ein großer Text für das Dokument.</p></noscript>
<noscript><p>Alles wird gut. Wer hat da gelacht?!</p></noscript>
</div>
<div id="a2">
<h1>Susi Sorglos:</h1>
<noscript><p>Zitat 1.</p></noscript>
<noscript><p>nix</p></noscript>
</div>
</body>
</html>
viele Grüße
Axel