[Resolu] Recuperer l'index d'un noeud dans sont parent (DOM).

Recuperer l'index d'un noeud dans sont parent (DOM). [Resolu] - HTML/CSS - Programmation

Marsh Posté le 09-07-2008 à 13:15:52    

Salut,  
 
Je voulais simplement savoir si il y avait une fonction, pour un tableau en DOM, de trouver l'index d'un élément contenu. Je m'explique, j'ai un tableau avec plusieurs ligne et j'aimerai que ça me retourne la position de la ligne quand je clique dessus.  J'aimerai éviter de faire une boucle parce que ça prend des ressources...
 
Je précise mes envies : voici ce sur quoi je travail : http://www.dougui.fr/jourj  
Quand on clique sur supprimer, la 1ere fois ça marche nickel, mais la suivante la création des boutons ne se fait pas a la bonne ligne parce que l'index à changé.
 
Merci, à bientôt.


Message édité par dougui_bzh le 10-07-2008 à 00:32:48
Reply

Marsh Posté le 09-07-2008 à 13:15:52   

Reply

Marsh Posté le 09-07-2008 à 13:41:10    

tu feras gaffe ton script fait un appendChild sur "TABLE" alors qu'il devrait faire un appendChild sur le TBODY du tableau
 
ben oui, un navigateur rajoute un tbody quand yen a pas, et un tableau sans tbody c'est plus un tableau.
 
Mais sinon tu peux très bien connaitre la position de ta ligne :  
 
via rowIndex :
tr.rowIndex

Reply

Marsh Posté le 09-07-2008 à 13:49:40    

sinon tu sais que pour manipuler les tableaux via le dom tu as  rows et cells???
 
Du coup ce genre de ligne:

Code :
  1. document.getElementById("live" ).getElementsByTagName('tr')[numPrec].getElementsByTagName('td')[0]


peut s'écrire

Code :
  1. document.getElementById("live" ).rows[numPrec].cells[0]


 
Dans le même genre, tu noteras également l'éxistence de fonction genre insertRow ou deleteRow qui t'aurait quelque peut simplifier le travail.


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 10-07-2008 à 00:29:51    

J'ai résolu le problème en mettant un ID a mes TR et en faisant une boucle (malheureusement).

Reply

Marsh Posté le 10-07-2008 à 10:04:59    

on t'a dit que yavait pas besoin de mettre des id a tes TR ni de foutre une boucle.
 
T'écoutes un peu ce qu'on te dit ?

Reply

Marsh Posté le 11-07-2008 à 04:42:02    

tain je connaissais pas rows et cells
ca ressemble pas a form.input.lol ?
je fais du js depuis peu (j ai appris ici :o) et ca me parait tres peu dom compliant
 
bref developpez un peu je poserai mes questions apres :o


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
Reply

Marsh Posté le 11-07-2008 à 07:04:52    

un tableau regorgent de fonction DOM compliant  propre pour l'array
les methodes habituelles du dom comme getElementsByTagName, etc... sont clairement à chier dans un table.
Prend firebug, place toi sur un tableau que tu auras créé (avec un thead, tbody (ou 2 tbody tiens) et un tfoot
 
ensuite analyse avec firebug toutes les propriété et les fnoctions dom qui s'y trouve tu seras assez surpris.
Avec ça tu fais tout ce que tu veux avec un table, tu peux t'amuser comme un fou

Reply

Marsh Posté le 11-07-2008 à 08:04:52    

han shit tBodies [:vapeur_cochonne]
ok noté merci :o


Message édité par mIRROR le 11-07-2008 à 08:05:03

---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
Reply

Marsh Posté le 11-07-2008 à 14:40:28    

gatsu35 a écrit :

on t'a dit que yavait pas besoin de mettre des id a tes TR ni de foutre une boucle.
 
T'écoutes un peu ce qu'on te dit ?


 
Oups, désolé, ça marche très bien avec tr.rowIndex en effet. Merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed