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 :

Modification d'un Objet HTML cloné


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Par défaut Modification d'un Objet HTML cloné
    Bonjour,

    Comme vous vous en douté j'ai une question. Voila j'aimerai modifier l'id d'un sous élément d'un élément clonée dans une page HTML. Je m'explique, j'ai :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="parent">
       <div id="enfant">
       </div>
    </div>

    le but étant de clonée la div "parent" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var clone = document.getElementById('parent').cloneNode(true);
    et de changer l'id d'enfant en passant par clone pour avoir par exemple

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="parent">
       <div id="enfant_nb_2">
       </div>
    </div>

    Problème, je ne sais pas comment faire.
    Quelqu'un a une suggestion ?

    Merci

    Edit: J'avais bien chercher des balises code (pas longtemps je l'avoue), mais je m'attendait a ce qu'elle soit représenter plus explicitement, toutes mes confuses :/

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ben si je suis ta logique, après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var clone = document.getElementById('parent').cloneNode(true);
    il te faut changer l'id du noeud que tu viens de créer, sinon bug:
    puis changer l'id de l'enfant (sinon bug):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clone.getElementsBytagName("div")[0].id="enfant2";
    schématiquement, voilà, si ton dom est aussi simple que dans l'exemple;

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Par défaut
    Merci de ta réponse. J'aurai espérer pouvoir faire quelque chose de plus proche de getElementById, mais ça devrais faire l'affaire.
    A titre purement informatif, cet méthode fonctionne telle sur plusieurs niveaux ? Peut-on faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clone.getElementsBytagName("div")[0].getElementsBytagName("div")[0].id="enfant2";
    J'ajoute que j'ai du louper quelque chose de critique puisque je me prend un jolie :
    clone.getElementsBytagName is not a function

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    attention à la casse, c'est mi qui ai tapé trop vite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clone.getElementsByTagName
    par contre, l'instruction que tu proposes n'a pas tellement de sens vue la structure;

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Par défaut
    Effectivement l'instruction que j'ai écrite supposais qu'elle s'applique à une structure avec une plus grande profondeur. Comme trois div les unes dans les autres.

    Au passage j'en profite pour ajouter une question de plus sur le même thème.
    Imaginons maintenant que nous ayons :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="une_div">
      <p>
        Un paragraphe
      </p>
    </div>

    Comment puis-je, toujours dans un clone de la div, modifier le contenue de la balise <p> ? J'ai bien essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var clone = document.getElementById('une_div').cloneNode(true);
    clone.getElementsByTagName('p')[0].innerHTML = 'Lorem Impsum ';
    Mais innerHTML semble être une fonctionnalité propre à l'objet document et ne marche pas ici et comme le texte a modifier n'est pas une propriété de la balise je suis coincé. :/

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    pour voir la modification il faudrait peut être que l'objet cloné soit ajouté au document.

Discussions similaires

  1. la fonction clone() et modification de l'objet cloné
    Par PP(Team) dans le forum jQuery
    Réponses: 0
    Dernier message: 10/08/2010, 09h31
  2. doc objet html
    Par philou8 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/01/2006, 16h37
  3. Comment Obtenir en JS les infos d'un objet HTML ?
    Par prin-prin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/12/2005, 16h50
  4. [POO] Passer un objet HTML en argument.
    Par defacta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/12/2004, 10h44

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