Bonjour, voilà j'ai un noeud enfin un li et je voudrai récupérer ce qu'il y a avant lui.
Comment faire?
Merci d'avance
Bonjour, voilà j'ai un noeud enfin un li et je voudrai récupérer ce qu'il y a avant lui.
Comment faire?
Merci d'avance
attention le noeud avant n'est pas le père !!!
previousSibling te retourn le noeud précédent , parentNode te retourne le noeud parent ...
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
parentNode ?
grillé... +1 Spafy
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)
alors avec previousSibling je recupere le noeud precedent et pour avoir l'id de ce noeud ?
stela !!!!![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part previousSibling.id
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
Oui mais je coryais que ça ne fonctionnais pas comme ça merci mon maitre![]()
pas de quoi petite coccinelle ... (oui parceque scarabée ne te vas pas ...)
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
Non en fait y a un tit soucis ça me met que previousSibling n'a pas de propriété!
alors que bouge est un element html : li
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function finBouge(bouge){ var MenuTmp = new Array(); for (var i=1;i<Menu.length;i++){ if (Menu[i].id!=bouge.id){ if(Menu[i].id==bouge.previousSibling.id){ MenuTmp[i]=Menu[i]; MenuTmp[i+1]=new Element(bouge.prec,bouge.firstChild.data,bouge.id); } else{ MenuTmp[i]=Menu[i]; } } } Menu=MenuTmp; }
tu testes sous firefox ?
il va falloir scanner les childNodes et tester l'égalité par rapport au node actuel et prende le i-1 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <script type='text/javascript'> function previousNode(thisNode){ var Papa = thisNode.parentNode; var Enfants=Papa.childNodes; for (i=1;i<Enfants.length;i++){ var theOne=(Enfants[i]==thisNode)?Enfants[i-1]:theOne; return theOne; } } </script> </head> <body> <div id="previous">ddf f f f f</div> <div onmouseover="alert(previousNode(this).id)">efdq</div>
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
oula la c'est pas très clair tout ça ce que je sais c'est qu je teste sous firefox mais il faut que ça marche sous ie aussi
réponse précédente éditée ...
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
La fonction que tu me donnes en fait retourne quoi exactement?
ben le previsousSibling ...
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
tu passes bien le node en param ?
remets ton code complet stp ...
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
désolé le return est dasn la boucle ... il faut l'en sortir ...
ça marchait avec deux nodes ...
voici le code revisé qui fonctionne avec plus de deux nodes ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <script type='text/javascript'> function previousNode(thisNode){ var Papa = thisNode.parentNode; var Enfants=Papa.childNodes; for (i=1;i<Enfants.length;i++){ var theOne=(Enfants[i]==thisNode)?Enfants[i-1]:theOne; } return theOne.id; } </script> </head> <body> <div id="a1">ddf f f f f</div> <div id="a2" onclick="alert(previousNode(this))">efdq</div> <div id="a3" onclick="alert(previousNode(this))">efdq</div> <div id="a4" onclick="alert(previousNode(this))">efdq</div> <div id="a5" onclick="alert(previousNode(this))">efdq</div> <div id="a6" onclick="alert(previousNode(this))">efdq</div> <div id="a78" onclick="alert(previousNode(this))">efdq</div> <div id="a9" onclick="alert(previousNode(this))">efdq</div> <div id="a10" onclick="alert(previousNode(this))">efdq</div> <div id="a11" onclick="alert(previousNode(this))">efdq</div>
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
Alors j'ai testé ton code tel quel et il me met toujours undefined ! I don't understand
J'ai une arborescence comme ça,(voir lien ci après) faite de li et de ul imbriquées pour pouvoir deplacer mes rubriques. Lorsque j'en deplace une je voudrais connaitre celle qu'il y a juste avant pour changer l'ordre dans ma liste je redonne mon code
http://www.developpez.net/forums/att...1&d=1150181599
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function finBouge(bouge){ var MenuTmp = new Array(); for (var i=1;i<Menu.length;i++){ if (Menu[i].id!=bouge.id){ if(Menu[i].id==bouge.previousNode(bouge){ MenuTmp[i]=Menu[i]; MenuTmp[i+1]=new Element(bouge.prec,bouge.firstChild.data,bouge.id); } else{ MenuTmp[i]=Menu[i]; } } } Menu=MenuTmp; }
arf encore le coup des Nodes Text supplémentaires de ffx ...
faut utiliser un NodeCleaner ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <script type='text/javascript'> function previousNode(thisNode){ var Papa = thisNode.parentNode; var Enfants=Papa.childNodes; for (i=1;i<Enfants.length;i++){ if(Enfants[i]==thisNode && (Enfants[i-1].nodeType==1)){var theOne=Enfants[i-1];} if(Enfants[i]==thisNode && (Enfants[i-1].nodeType==3)){var theOne=Enfants[i-2];} } return theOne.id; } </script> </head> <body> <div id="a1">ddf f f f f</div> <div id="a2" onclick="alert(previousNode(this))">daq</div> <div id="a3" onclick="alert(previousNode(this))">efadq</div> <div id="a4" onclick="alert(previousNode(this))">efzaedq</div> <div id="a5" onclick="alert(previousNode(this))">efzaedq</div> <div id="a6" onclick="alert(previousNode(this))">efzaedq</div> <div id="a78" onclick="alert(previousNode(this))">efzaedq</div> <div id="a9" onclick="alert(previousNode(this))">efdzaeq</div> <div id="a10" onclick="alert(previousNode(this))">efzaezaedq</div> <div id="a11" onclick="alert(previousNode(this))">efzaedq</div>
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
bon suite à une erreur de lien j'ai fait un peu le ménage ...
j'ai rajouté un teste sur le type du node Précédent ...
dasn mon exemple ce sont des div ... tu seras peut être obligé de modifier pour des li et ul ...
Ma page Developpez - Mon Blog 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![]()
Venez sur le Chat de Développez !
Partager