Eigenschaft bei node-Objekt
Constantin
- javascript
0 Struppi0 Constantin0 Struppi0 Constantin0 Struppi
0 globe
Hallo,
ich habe ein Problem mit meinem JavaScript: und zwar möchte ich einem node-Objekt des DOM-Trees eine weitere Eigenschaft zuweisen:
node.status = 'success';
das funktioniert im Firefox, nicht jedoch im IE.
Fehlermeldung ist, dass das Objekt diese Eigenschaft oder Methode nicht unterstützt. Aber ich will diese Eigenachaft ja eben mit dieser anweisung anlegen...?
Sind node-Objekte im IE schreibgeschützt, sodass keine weiteren Eigenschaften hinzugefüht werden können??
Bin gespannt, ob ihr mir weiterhelfen könnt!
Constantin
ich habe ein Problem mit meinem JavaScript: und zwar möchte ich einem node-Objekt des DOM-Trees eine weitere Eigenschaft zuweisen:
node.status = 'success';
das funktioniert im Firefox, nicht jedoch im IE.
Fehlermeldung ist, dass das Objekt diese Eigenschaft oder Methode nicht unterstützt. Aber ich will diese Eigenachaft ja eben mit dieser anweisung anlegen...?
Bei mir (IE6) kommt diese Meldung nicht.
Sind node-Objekte im IE schreibgeschützt, sodass keine weiteren Eigenschaften hinzugefüht werden können??
Nein.
Struppi.
Hallo,
ich habe das Problem noch etwas genauer untersucht und bin zu dem Ergebnis gekommen, dass durchaus Eigenschaften auf diese Art zu Nodes hinzugefügt werden dürfen - es sei den es sind Text-Nodes (Node Typ 3)!
Wie gesagt, das wird auch nur im IE unterbunden. Was ist da das Problem?
Constantin
Wie gesagt, das wird auch nur im IE unterbunden. Was ist da das Problem?
Ich kann das Problem im IE 6 nicht nachvollziehen, wärst du in der Lage ein Beispiel zu zeigen. Es macht keinen Spaß jedesmal ein Skript zu basteln, was deinen Aussagen entspricht um dann festzustellen, dass deine Beobachtungen nicht zutreffen. Du machst irgendetwas falsch, aber das hat nichts mit dem zu tun, was du du uns schilderst. Zumindest kann ich das Problem bisher nicht nachvollziehen.
Struppi.
Hi Struppi,
alles klar, also hier ist ein html+script schnipsel:
<body>
<p>Test Test Test</p>
</body>
<script>
getAllTextNodes = function(node) {
if (node.nodeType == 3) {
node.nodePath = 'das ist ein test';
}
for (var i=0; i< node.childNodes.length; ++i) {
this.getAllTextNodes(node.childNodes[i]);
}
};
getAllTextNodes(document.body);
</script>
Im Firefox funktioniert das ohne Probleme. Im IE 7 dagegen nicht.
Die Zuweisung node.nodePath = '...' wird mit dem genannten Fehler zurückgewiesen.
Bin mal gespannt, ob das Script bei dir im IE 6 funktioniert.
Danke für deine Hilfe!
Constantin
getAllTextNodes = function(node) {
if (node.nodeType == 3) {
node.nodePath = 'das ist ein test';
hmm, bisher war von status die Rede, ich hab jetzt keine Zeit um das zu testen, aber was ergibt alert(node.nodePath) bevor du die Zuweisung machst?
Struppi.
hmm, bisher war von status die Rede, ich hab jetzt keine Zeit
Naja, das war an anderer Stelle im Projekt, der Fehler tritt aber bei mir mit dem Schnipsel, das ich gepostet habe definitiv auch auf.
Die alert-Ausgabe ergibt "undefined".
Constantin
n'abend,
Sind node-Objekte im IE schreibgeschützt, sodass keine weiteren Eigenschaften hinzugefüht werden können??
Das mit ziemlicher Sicherheit nicht.
Wenn du mit node.status einen solchen Fehler erhälst, versuche doch mal einen anderen Attributnamen. Vielleicht ist status ein geschütztes Attribut?
weiterhin schönen abend...