IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM]Supprimer des éléments d'une page HTML


Sujet :

JavaScript

  1. #1
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut [DOM]Supprimer des éléments d'une page HTML
    Bonjour,

    voilà j'ai une page où on peut ajouter des TR, et où on doit pouvoir les supprimer.
    je n'arrive pas à les supprimer en essayant que le JS soit compatible au niveau de IE et FF au moins.
    Je fais par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var element=document.getElementsByTagName("TR")[0];
        document.documentElement.removeChild(element);
    sous IE ça me met comme erreur "argument non valide", sous FF j'ignore comment je peux savoir l'erreur que ça remonte
    En plus il faut permettre de supprimer le TR courant, donc j'utilise la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function whichElement(e){
    var targ;
    if (!e){
      var e = window.event;
      }
    if (e.target){
      targ = e.target;
      }
    else if (e.srcElement){
      targ = e.srcElement;
      }
     
    var tname;
    tname=targ.tagName;
    et pour supprimer l'élément selectionné, j'essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    targ.parentElement.removeChild(targ);
    au niveau IE ça marche, mais au niveau FF ça plante

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    kikou Witch,

    pour supprimer une ligne dans un tableau utilise la fonction deleteRow() :
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var ligne = document.getElementById("idLIgne");
     
    document.getElementById("tableau").deleteRow(ligne.rowIndex);
    un exemple plus complet ici

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Sinon, sur la base de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    targ.parentNode.removeChild(targ);
    (parentNode plutôt que parentElement)

  4. #4
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut
    Coucou Auteur , Bovino
    En fait malheureusement le code ne marche qu'au niveau IE, et en plus je n'utilise pas des "id" dans mes tag
    Pour le code de Bovino c'est vrai que ça me supprime l'élément en cours mais pas toute la ligne du tableau...
    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
    28
    29
    30
    31
     
    <html>
    <head>
    <title>A Simple Page</title>
    <script language="JavaScript">
    <!--
    function delRow(e){    
        //Récupérer l'indice de l'élément courant 
        if (!e ){ 
            var e = window.event;
        }
        if(e.target) { 
              targ=e.target; 
        } else if ( e.srcElement) {
              targ=e.srcElement; 
        }
        targ.parentNode.removeChild(targ);
     
    }
     
     
    //  -->
     
    </script>
    </head>
    <body>
    <table>
    <TR><td>okokokokokok</td><td><input type="button" value="click me"  onClick="delRow(event);"></td></TR>
    </table>
    </body>
    </html>
    ça me supprime juste le boutton....ce qui est évident, mais j'aimerais bien que ça me supprime toute la ligne, c'est à dire le "TR" en cours.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Arf... je suis pas assez remonté...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(targ.nodeName != 'TR'){
        targ = targ.parentNode;
    }
    targ.parentNode.removeChild(targ);

  6. #6
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut
    Je me demandais justement à quoi ça servait ça..tiens!
    Merci Bovino

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VB6: Récupération des meta d'une page HTML avec HTMLDocument
    Par Matounet dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/09/2011, 07h55
  2. Récupérer des info dans une page html
    Par DORBRITZ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/03/2008, 11h13
  3. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22
  4. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18
  5. Supprimer des éléments dans une TreeView ?
    Par souch dans le forum Composants VCL
    Réponses: 4
    Dernier message: 16/09/2005, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo