begin process at 2012 05 29 09:08:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Liste des éléments enfant d'un autre élément


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Liste des éléments enfant d'un autre élément

dimanche 15 novembre 2009 à 03:19:16 | Liste des éléments enfant d'un autre élément

jdmcreator

Bonjour,

Je viens de rencontrer un obstacle que je tente depuis 1 semaine j,essaye de résoudre sans trouver de solution.

Je cherche si il existe une façon de récupérer les éléments enfant d'un autre élément.

Il existe bien childNode, mais voilà son problème : il ne retourne que l'enfant au premier degré. Voici un petit schéma d'arborescence pour m'expliquer :

HTML > BODY > P > DIV > SPAN > B

Admettons que je veux récupérer tout les enfants de BODY. childNode ne me retournera que P et ses éléments frères, alors que je souhaiterais qu'il me retourne P,DIV,SPAN,B et bien sûr tous les éléments frères ;)

J'espère mettre bien faite comprendre ;)

Quelqu'un a-t-il une solution à proposer ?

Merci d'avance

JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
dimanche 15 novembre 2009 à 11:40:44 | Re : Liste des éléments enfant d'un autre élément

Bul3

Membre Club
Bonjour,
votre "fonction de recherche" des éléments
doit être fait de manière récursive :
pour chaque élément trouvé il faut
lancer votre "fonction de recherche".
Cordialement [mon Site] [M'écrire] Bul
dimanche 15 novembre 2009 à 12:10:19 | Re : Liste des éléments enfant d'un autre élément

Bul3

Membre Club
Réponse acceptée !
ch'tiot exemple
Code HTML :
<html> 
	<body> 
		<p>
			<div> 
				<span> 
					<b></b>
				</span> 
			</div>
			<div> 
			</div>
		</p>
		<p>
			<span> 
				<b></b>
			</span> 		
		</p>
		<script>
			function appel(quoi)
			{	alert(quoi.tagName);
				for ( var n=0; n<quoi.childNodes.length; n++ )
				{	appel(quoi.childNodes[n]);	}
			}
			appel(document.getElementsByTagName('html')[0]);
		</script>
	</body>
</html>
vous verrez qu'avec certains navigateurs
des undefined sont affichés, je vous laisse
comprendre pourquoi et rectifier
dimanche 15 novembre 2009 à 15:16:26 | Re : Liste des éléments enfant d'un autre élément

jdmcreator

Merci pour cette exemple, je retrouve enfin l'espoir

Quand aux undefined, j'avais déjà rencontré ce problème et j'ai compris pourquoi ils apparaissaient :

childNodes retourne TOUS les éléments enfants : donc pas juste les éléments HTML, mais les noeud Texte et peut-être aussi les noeuds attributs. Comme ceux-ci ne supporte pas la propriété tagName, cela retourne undefined. Il peut être réglé ainsi :

if(quoi.childNodes(n).nodeType==1)
{...}

Merci beaucoup encore ;)


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
dimanche 15 novembre 2009 à 15:29:21 | Re : Liste des éléments enfant d'un autre élément

jdmcreator

Voilà le code que ça me donne finalement =)

Code HTML :
<html> 
	<body> 
		<p>
			<div> 
				<span> 
					<b></b>
				</span> 
			</div>
			<div> 
			</div>
		</p>
		<p>
			<span> 
				<b></b>
			</span> 		
		</p>
		<script>
startCall_arr=new Array();

function startCall(quoi){
startCall_arr=new Array();
appel(quoi);



return startCall_arr;
}
	function appel(quoi)
	{

			if(quoi.nodeType==1)
		{	

			startCall_arr.push(quoi);

			for ( var n=0; n<quoi.childNodes.length; n++ )
			{	
				appel(quoi.childNodes[n]);
			}
			
		}

	}
			alert(startCall(document.getElementsByTagName('html')[0]));
		</script>
	</body>
</html>




JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
dimanche 15 novembre 2009 à 15:45:42 | Re : Liste des éléments enfant d'un autre élément

Bul3

Membre Club
>>childNodes retourne TOUS les éléments enfants :
>>donc pas juste les éléments HTML,
exact
et nodeName,nodeType voire nodeValue
et autres node??? permettent de savoir à qui
on a affaire ( et c'est différent en
fonction des navigateurs ;o( )
dimanche 15 novembre 2009 à 15:52:55 | Re : Liste des éléments enfant d'un autre élément

jdmcreator

Non, uniquement nodeType fait la différence. Il est d'ailleurs utiliser dans la fonction pour savoir si l'élément est un élément HTML dans Prototype.js

NodeName retourne le nom. Dans le cas d'élément HTML, ce sera le tagName.

Quand à NodeValue, il retourne la valeur d'un noeud. Pour un élément HTML, il retourne null


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
dimanche 15 novembre 2009 à 15:53:15 | Re : Liste des éléments enfant d'un autre élément

jdmcreator

J'ai oublié de mettre le lien : http://fr.selfhtml.org/javascript/objets/node.htm#node_type


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com


Cette discussion est classée dans : solution, élément, liste, enfant, éléments


Répondre à ce message

Sujets en rapport avec ce message

Réorganiser options dans un select avec la souris [ par SammyWarez007 ] J'ai créé une liste SELECT contenant des OPTIONS. J'ai des boutons à coté de la liste qui me servent à faire monter ou descendre l'élément sélectionné Liste des éléments d'une page [ par Ekik ] Bonjours, Je voudrais savoir comment faire pour récupérer tout les éléments que j'ai sur ma page. J'ai essayé avec document.all, window.all différente Pb ave une listeview [ par sepul ] Salut, malgré l'aide de grenard je me galère encore !voila j'ai une liste à gauche et un textarea à droite: lorsque je clic sur un élément de la liste Selectionner un élément dans une liste [ par BozzoDodo ] Bonjour, j'aimerai savoir comment sélectionner un élément d'une liste... voila ca doit pas être compliqué mais je fais plus que de débuté :)Merci de v Focus sur un élément dans une liste Select multiple [ par Barbichou ] Bonjour.J'ai une liste à choix multiple dans une page HTML, avec certains des éléments déjà sélectionnés, et triés dans un certain ordre. Le pb est de menu externe [ par tarentaise ] Bonjour,J'ai un menu horizontal multiniveaux, ce menu est en faite sous forme de liste et utilise un script externe. Je souhaiterais mettre cette list lister les tout les élément dans body [ par JSBR ] Bonjour, j'ai un probleme assez simple à expliquer (dont je trouve aucune réponse claire.) Je cherche le moyen de lister tout les élément contenu dans Liste Dynamique en fonction des valeurs déjà choisies [ par tcyrill2 ] Bonjour, Je souhaite faire un formulaire avec un nombre aléatoire d' dans un pour établir un classement. En fait, j'ai un nombre d'élément dé Affiche un calque avec une liste(select) [ par missFlo17 ] Bonjour, j'aimerai faire apparaître un calque en cliquant sur un élément d'une liste (avec ) et le faire disparaître lorsque je clic sur un autre élém Afficher une option dans un select [ par viggen76 ] Bonjour, J'ai une liste déroulante (select) dans une page. Cette liste contient des éléments, disons une dizaine. Mais la liste n'a une capacité d'af


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,498 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales