Markus: nodeValue vs. innerHTML

Beitrag lesen

Hallo!

So sieht das entsprechende HTML aus:

<dl>
        <dt>Name:</dt>
        <dd id="Name" class="monospace"> </dd>
        <dt>Alter:</dt>
        <dd id="Alter" class="monospace"> </dd>
    </dl>

Und nun das JS:

document.getElementById('Name').firstChild.nodeValue = 'Markus';
document.getElementById('Alter').firstChild.nodeValue = '15';

So funktioniert das im Firefox ganz gut, im Opera muss ich jedoch noch folgende Zeilen hinzufügen:
document.getElementById('Name').innerHTML = 'Markus';
// usw.

Warum ist dies nötig? Muss ich das immer zweifach machen? Und was ist eigentlich der Unterschied zwischen firstChild.data und firstChild.nodeValue? Eigentlich ist das doch das gleiche, oder?

Mfg,
Markus