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 :

[Manipulation DOM] Ajouter un DIV "autour" d'un A


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut [Manipulation DOM] Ajouter un DIV "autour" d'un A
    Bonjour,

    Je suis en train de faire des tests de manipulation du DOM avec javascript (création de noeud, suppression, etc...)
    Et j'ai du mal à faire ce que je désire.

    J'ai dans ma page un lien (balise <a href>) et je souhaiterais ajouter un DIV autour afin qu'un fois ma fonction JS lancée j'obtienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div><a href="...">...</a></div>
    Je suis preneur de n'importe quelle infos.
    Merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Bon bah c'est simple.

    D'abord tu crées ton div "a coté" de ton <a>

    ensuite tu déplace ton <a> "dans" ton div

    nan ?

  3. #3
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: [Manipulation DOM] Ajouter un DIV "autour" d'u
    Citation Envoyé par psychomatt
    J'ai dans ma page un lien (balise <a href>) et je souhaiterais ajouter un DIV autour afin qu'un fois ma fonction JS lancée j'obtienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div><a href="...">...</a></div>
    Je suis preneur de n'importe quelle infos.
    Merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var monDiv = document.createElement('div');
    var monA = document.getElementById('identifiant_de_mon_a');
    var pointInsertion = monA.parentNode;
    pointInsertion.insertBefore(monDiv,monA);
    pointInsertion.removeChild(monA);
    monDiv.appendChild(monA);
    Quelque chose dans ce gout, non?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Yep a premiere vue ca me semble bon

  5. #5
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    En effet ça tourne bien
    Petite précision néanmoins
    pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pointInsertion.removeChild(monA);
    ?
    Merci

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par psychomatt
    En effet ça tourne bien
    Petite précision néanmoins
    pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pointInsertion.removeChild(monA);
    ?
    Merci
    Pour préciser qu'on retire ce noeud de l'endroit ou il se trouvait. Ce n'est pas nécessaire, car on réaffecte le noeud juste après, ce qui le retire automatiquement de sa position précédente.

    C'était juste pour préciser

  7. #7
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    Ok.

    Et si je désire toujours par prog supprimer le DIV créé par la méthode décrite plus haut. Le fait de supprimer le DIV va également supprimer tout ce qu'il contient (ses enfants), me trompe-je ?

  8. #8
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par psychomatt
    Ok.

    Et si je désire toujours par prog supprimer le DIV créé par la méthode décrite plus haut. Le fait de supprimer le DIV va également supprimer tout ce qu'il contient (ses enfants), me trompe-je ?
    Pas du tout, tu as tout à fait raison

  9. #9
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    cool.
    Sauf que ça m'arrange pas du là :-/

    Il faut donc que je récupére tous les enfants de mon noeud, que je les insère avant ou après le DIV et que je le supprime ce dernier (et tout son contenu).

    Bon, bah y'a plus qu'a...

    Merci en tous cas denisC pour ton aide.
    Je posterai mon code quand celui-ci fonctionnera.

    Je laisse le sujet ouvert pour le moment (il se peut que je galère encore un petit peu )

  10. #10
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par psychomatt
    Il faut donc que je récupére tous les enfants de mon noeud, que je les insère avant ou après le DIV et que je le supprime ce dernier (et tout son contenu).
    Allez, allez, c'est pas si compliqué que ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var monDiv = document.getElementById('identifiant_de_mon_div');
    while (monDiv.childNodes.length>0) {
      monDiv.parentNode.insertBefore(monDiv.childNodes[0],monDiv);
    }
    monDiv.parentNode.removeChild(monDiv);
    Et voilà, c'est déjà fini! (enfin, sauf si je me suis trompé dans le code, ce qui est toujours possible )

  11. #11
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    Quel talent !

    Bon bah, résolu alors

    MERCI !

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

Discussions similaires

  1. [DOM] Ajouter une DIV dans une page web
    Par Nulenprogra dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/09/2007, 16h48
  2. [DOM] Ajouter un div !
    Par flyxter dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/08/2007, 14h59

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