Hallo,
Es ging doch gar nicht um die "+="-Zeile, sondern um das erste Ansprechen von innerHTML beim neu erzeugten p-Elementknoten mit Wert "X: ". Offenbar ist bei aelteren Operas die innerHTML-Eigenschaft zu diesem Zeitpunkt noch nicht etabliert, was ich bei einem Elementknoten ohne Inhalt sogar nachvollziehbar finde (und letzlich mangels offiziellem Standard dem Browser ueberlassen bleibt).
nein. Das Problem hat imho nichts mit innerHTML zu tun, denn damit kann diese Opera-Version offenbar umgehen, wie die Benutzung in der eigentlich erheblich umfangreicheren Seite gezeigt hat. Folgendes Beispiel könnte eher die Problematik verursachen, denn es beweist, daß der Opera gar kein value-Attribut anlegt!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Opera Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function createInput() {
inp1 = document.createElement('input');
inp1.setAttribute('id','x');
inp1.setAttribute('value','15');
inp1.setAttribute('name','xsize');
for(i=0;i<inp1.attributes.length;i++) { // kein Attribut mit Namen 'value' im Opera!
alert(inp1.attributes[i].nodeName + ": " + inp1.attributes[i].nodeValue);
}
}
</script>
</head>
<body onload="createInput();">
</body>
</html>
Wenn man ein solches Input-Element in das DOM einhängt kann man aber sehr wohl über die id auf das Element und den 'value' zugreifen, nicht jedoch über die Attributes Collection.
Auf innerHTML wuerde ich mich auch nur ungern verlassen, zumal ja DOM-Techniken zum Einsatz kommen.
Ack.
cu,
ziegenmelker