Ajouter une ligne à un tableau en javascript

Ajouter une ligne à un tableau en javascript - HTML/CSS - Programmation

Marsh Posté le 17-11-2008 à 11:23:40    

Bonsoir à tous,
 
Cette fois, je veux ajouter une ligne à un tableau. J'arrive à rajouter une ligne à la fin, mais pas à un endroit précis (avant le dernier tr (dont l'ID est derniertr)...
 
Mon code (j'ai précédemment créé une variable letr qui contient mon tr) :
 

Code :
  1. //Ca ça marche, mais ça insère après le derniertr
  2. document.getElementById('derniertr').parentNode.appendChild(letr);
  3. //Mais ça ça marche pas...
  4. //document.getElementById('derniertr').parentNode.insertBefore(document.getElementById('derniertr'),letr);


Message édité par zezette le 17-11-2008 à 11:24:44

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 17-11-2008 à 11:23:40   

Reply

Marsh Posté le 17-11-2008 à 11:36:52    

Dans insertBefore, c'est d'abord le nouveau <tr>, et ensuite l'existant

Reply

Marsh Posté le 17-11-2008 à 11:41:00    

hé hé en effet :$
 
merci ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 26-11-2008 à 15:52:11    

Et est-ce qu'il existe une focntion qui ferait "insertAfter" ?


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 26-11-2008 à 16:05:24    

Non, ça n'existe pas insertAfter. Mais sinon dans l'API DOM, tu as la fonction insertRow(index) (méthode de table, tbody ou thead). index commence à 0, -1 pour la dernière.
 
Sinon, tu as cette page comme référence pour savoir quelles sont les méthodes associés à tous les objets HTML :
http://www.w3.org/TR/DOM-Level-2-H [...] tions.html

Reply

Marsh Posté le 26-11-2008 à 16:08:40    

sinon on peut en coder une qui servira pour plus tard, mais il faut suivre tpierron dans sa réponse.
 

Code :
  1. function insertAfter(nodeParent, nodeToInsert, referenceNode) {
  2. if(referenceNode.nextSibling) //si le noeud de reference a un noeud frere suivant on peut utiliser le insertBefore par rapport à ce noeud suivant
  3.  nodeParent.insertBefore(nodeToInsert, referenceNode.nextSibling);
  4. else //dans le cas contraire le noeud qu'on veut ajouter ira directement à la fin du nodeParent, donc un appendChild est utilise
  5.  nodeParent.appendChild(nodeToInsert)
  6. }

Reply

Marsh Posté le 26-11-2008 à 19:53:43    

Je connaissais pas nextSibling... J'ai appris un truc ;)
 
Merci bcp ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Sujets relatifs:

Leave a Replay

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