| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: (JS) Wie erzeuge ich ein Objekt, das dem document.all Objekt gleicht? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Greetings Folks! So, mir wurde dieses Forum empfohlen und deswegen poste ich mein aktuelles Problem mal hier. Ich arbeite ...
![]() |
| | #1 (permalink) |
| Anzeige Greetings Folks! So, mir wurde dieses Forum empfohlen und deswegen poste ich mein aktuelles Problem mal hier. Ich arbeite an einer Java Script Bibliothek und bin nun auf das Problem gestoßen, dass ich ein Objekt (in Form eines Arrays) brauche, dass alle HTML Tags als Elemente (in Form von Objekten) enthält. Der Microsoft Internext Explorer besitzt seit Version 4.0 das Objekt document.all, was im Prinzip genau das ist, was ich haben will. Das "neue" DOM unterstützt diese Eigenschaft jedoch nicht, sprich Netscape, Opera und Mozialla kennen dieses Eigenschaft ebenfalls nicht. Ich habe nun zwei Möglichkeit gefunden mir ein solchen Array herzuzaubern: 1) Ich durchsuche alle Elemente, indem ich document.getElementByTagName für alle bekannten HTML Elemente verwende. Finde ich persönlich sehr unschön, ich müsste eine Liste mit allen bekannten Tags erstellen und diese eventuell sogar bei Erneuerungen erweitern. 2) Ich nutze die Möglichkeit des neuen Node Modells und suche den kompletten Baum nach Elementen (nodeType == 1) durch. Nur frage ich mich, ob das nicht auch etwas umständlich ist. Ich kenne mich leider nicht so exzellent mit Knoten aus, da ich praktisch noch nicht in JS damit gearbeitet habe und nur aus Pascal Erfahrungen mit Bäumen habe. Vielleicht gibt es ja eine einfachere Methode, um an die Elemente zu kommen. Thx all way. ... Darth Melton p.s. Also habe jetzt mal Möglichkeit 2 praktisch angewandt, sehe so aus: function get_node_elements(current_node) { if (document.all) { return document.all; } else { var elements = new Array (); if (current_node.nodeType == 1) { elements.push(current_node); } for (var i = 0; i < current_node.childNodes.length; i++) { elements = elements.concat(get_node_elements(current_node.chi ldNodes[i])); } return elements; } } all_elements = get_node_elements(document.getElementsByTagName("h tml")[0]); (leider ohne Formatierung in diesem Forum...) | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| C++/C File Objekt überschreiben | 90nop | Code Kitchen | 2 | 16.05.09 13:24 |
| Objekt-Datenbank | GambaJo | Code Kitchen | 2 | 16.02.08 12:39 |
| C# WebBrowser Objekt | Mortiis | Code Kitchen | 0 | 26.10.05 13:55 |
| Referenz von aktivem Objekt weitergeben... | kito | Code Kitchen | 8 | 24.08.05 15:46 |
| VB OLE1 Objekt bei Form Load abspielen | VB.Perl | Code Kitchen | 1 | 21.06.05 17:43 |