Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/07/2011, 17h03   #1
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 9
Points : 4
Points : 4
Par défaut Afficher arbre DOM Complet avec "branches"

Bonjour,
Je souhaiterait afficher l'arbre complet du DOM ,en javascript, d'une Iframe (html ou xml). (pas de probleme pour acceder a l'iframe et pour obtenir tous les éléments)

Après de nombreux essais j'ai réussit a afficher tous les noeuds du document, le problème c'est qu'ils ne sont ni dans l'ordre ni liées les uns aux autres.

Enfaîte je souhaiterait obtenir un résultat semblable à un print_r(); en php :

Code :
Array([KEY] => value,[KEY2] => Array([KEY] => value) ... )
J'ai donc essayé de parcourir le dom en utilisant la recursivité :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
			var testchain = '';
			var iii = 0;
 
			function ParseDOM(node){
 
				if(isset(node)){
					if(node == '[object NodeList]'){
						for(var i = 0, l = node.length;i <= l;i++){
							ParseDOM(node[i]);
						}			
					}else{
						if(node.hasChildNodes()){
							ParseDOM(node.childNodes);
						}else{
						      testchain +=node;   ii++;
						}
					}
				}
 
			}
 
ParseDOM(getDocument(document.getElementsByName(XHE.Node.Iframe.Id)[0]));
Et comme je l'ai dit ils ne sont pas dans l'ordre et on ne peut reconnaitre leur parents. En plus de cela certain manque a l'appel ... vous pouvez essayer vous meme.


Je cherche a faire ça pour l'afficher en tant que liste avec affichage des liens de parenté. (donc en insérant des balises html dans la fonction de parcoure du DOM)



Voila si vous avez des idées je suis preneur ,
merci.
PoMpOmWoNdErFuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 17h12   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 035
Points : 45 134
Points : 45 134
http://www.permadi.com/tutorial/domTree/index.html
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 17h19   #3
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 9
Points : 4
Points : 4
Merci

Je vais voir si j'arrive a modifier cette fonction, car je veut aussi récupérer la classe commençant par '¤' de l’élément (tous en ont une je la créée (genre : ¤1 ¤2)).
Pour pouvoir accéder a l'élément lorsque je clique sur sa représentation ...
je sait c'est tordu mais c'est pour réaliser un éditeur visuel html mais pas inline.

Je met en résolue si j'y arrive
PoMpOmWoNdErFuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 17h22   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 035
Points : 45 134
Points : 45 134
jquery ...

jette un oeil sur les selecteurs de jquery
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 18h01   #5
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 9
Points : 4
Points : 4
Oui mais je suis a un stade plutot avancé du programme donc oui j'utilise beaucoup jquery mais il ne reconnait pas les noeuds text et c'est un gros probleme j'en ai besoin
mais merci

EDIT : Merci !!

J'ai réussit a faire ce que je voulait il manque plus qu'a ajouté le nom de class mais c'est du gâteau ça :p... pour ceux qui voudrait je met ce que j'ai fait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
		function ParseDOM(targetDocument, currentElement, depth){
 
 
	    var j;
    var tagName=currentElement.tagName;
 
	testchain2 += '<li>'+currentElement;
    // Traverse the tree
    var i=0;
    var currentElementChild=currentElement.childNodes[i];
    while (currentElementChild)
    {
	testchain2 +='<ul>';
      // Recursively traverse the tree structure of the child node
      ParseDOM(targetDocument, currentElementChild, depth+1);
      i++;
      currentElementChild=currentElement.childNodes[i];
	testchain2 +='</ul>'
    }
	testchain2 += '</li>';
 
 
	}
PoMpOmWoNdErFuL est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h25.


 
 
 
 
Partenaires

Hébergement Web