nodeValue vs. innerHTML
Markus
- javascript
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
Hallo Markus,
firstChild.nodeValue und firstChild.data funktionieren nur, wenn der Knoten existiert. In einigen Browserb genügt da ein Leerzeichen nicht. Ich fülle die Felder daher mit einem . Bei innerHTML ist das nicht nötig, da hier die entsprechenden Knoten erzeugt werden. Den Unterschied zwischen firstChild.nodeValue und firstChild.data kannst du im Selfhtml nachlesen.
Gruß, Jürgen
Hallo JürgenB.
Den Unterschied zwischen firstChild.nodeValue und firstChild.data kannst du im Selfhtml nachlesen.
Und der da wäre? Bis auf die Tatsache, dass sich die data-Eigenschaft in keiner DOM-Spezifikation (weder Level 1 noch Level 2 noch Level3) finden lässt, ist sie funktional mit der nodeValue-Eigenschaft identisch.
Oder weißt du mehr?
Einen schönen Freitag noch.
Gruß, Ashura
Hi!
Bis auf die Tatsache, dass sich die data-Eigenschaft in keiner DOM-Spezifikation (weder Level 1 [...]) finden lässt, ...
Hallo jeanlucpicard2.
Ah, danke.
Einen schönen Freitag noch.
Gruß, Ashura
Hallo Ashura,
Oder weißt du mehr?
nein. Daher kann ich auch nur Selfhtml zitieren:
http://de.selfhtml.org/javascript/objekte/node.htm#node_value
Speichert den Wert oder Inhalt eines Knotens. Bei Textknoten ist dies der Text, bei Attributknoten der zugewiesene Attributwert.
http://de.selfhtml.org/javascript/objekte/node.htm#data
Speichert Zeichendaten eines Knotens, sofern es sich um einen Textknoten handelt.
Gruß, Jürgen
Hallo,
Bis auf die Tatsache, dass sich die data-Eigenschaft in keiner DOM-Spezifikation finden lässt
Für so etwas gibt es die SELFHTML-Sidebar, die Spezifikations-Links zu allen in SELFHTML beschriebenen JavaScript-Features enthält:
http://de.selfhtml.org/navigation/sidebars/ >
http://de.selfhtml.org/navigation/sidebars/javascript.htm >
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-72AB8359
Mathias