Ich neige nicht dazu, mich bei der Erstellung von Internetseiten auf
Browsermacken einzustellen, die auf die Abweichung von HTML- und
JavaScript-Standards zurückzuführen sind. Weil M$ IE in den neueren
Versionen neben
document.all
auch
document.getElementById
versteht, verwende ich grundsätzlich keine
document.all-Skriptanweisungen.
Allerdings habe ich mir so manchen Zahn bei dem Versuch ausgebissen,
das mit
document.all...innerHTML sehr bequeme
dynamische Ein- und Ersetzen von HTML-Code mit den Methoden
document.createElement()
,
document.createAttribute() und
document.createTextNode()vorzunehmen, entsprechend dem Hinweis auf
SELFHTML/javascript/objekte/node.htm#node_value.
Ich bin heilfroh, herausgefunden zu haben, dass bereichsbezogene
Code-Ersetzungen wie
document.getElementById("...").innerHTML = "..." von
meinen Browsern M$ IE 5.5+, Mozilla 1.4α, Netscape 7 und Opera 7
verstanden und umgesetzt werden. Ich habe den in
SELFHTML vorgestellten Beispiel-Code
<html><head><title>Test</title>
<script type="text/javascript">
<!--
var Neu = "neuer <b>fetter<\/b> Text";
function Aendern() { document.all.meinAbsatz.innerHTML = Neu; }
//-->
</script>
</head><body>
<p id="meinAbsatz">Text</p>
<a href="javascript:Aendern()">Anderer Text</a>
</body></html>
entsprechend umgeschrieben, so dass er M$-unabhängig verwendet werden kann.
Element <p id="meinAbsatz">:
Text
Anderer Text, der von M$ IE 5.5+ und von Opera 7 lesbar gemacht werden kann.
Opera 6 gibt wegen document.all
eine Fehlermeldung aus.
Element <p id="meinAbsatz2">:
Text
Anderer Text, der von M$ IE 5.5+, von Mozilla 1.4α, von Netscape 7 und von Opera 7 lesbar gemacht werden kann, aber weder von Netscape 4.x noch von Opera 6.