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] DOM - copier le contenu d'un div dans un autre div


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut [DOM] DOM - copier le contenu d'un div dans un autre div
    Bonour,

    j'ai un div ("divSrc") avec des données et je souhaite copier ses fils dans un autre div ("divDest")

    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
     
    <html>
    <head>
    	<script type="text/javascript">
    		function test() {
    			var divSrc = document.getElementById("divSrc");
    			var divDest = document.getElementById("divDest");
    			divDest.appendChild(divSrc);
    		}
    	</script>
    </head>
     
    <body>
     
    <input type="button" value="test" onclick="javascript:test();">
     
    <div id="divSrc">
    	<select onchange="javascript:getCode(this);">
    		<option value="1">FRANCAIS</option>
    		<option value="2">ANGLAIS</option>
    	</select>
    	<input type="text" id="code" value="">
    </div>
     
    <div id="divDest">
     
    </div>
     
    </body>
    </html>
    ce code me supprime mon divSrc. Je voudrais que mon divSrc reste car dans un deuxième temps, je voudrais remettre les infos de "divDest" dans "divSrc".

    je voudrais avoir ce code HTML à la fin de mon action

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <div id="divSrc">
     
    </div>
     
    <div id="divDest">
    	<select onchange="javascript:getCode(this);">
    		<option value="1">FRANCAIS</option>
    		<option value="2">ANGLAIS</option>
    	</select>
    	<input type="text" id="code" value="">
    </div>
    Il y a une alternative : rajouter un div sous le divSrc pour englober les données à transférer mais je ne veux pas surcharger ma page de div.
    Quelqu'un aurait une idée ?

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 156
    Points : 131
    Points
    131
    Par défaut salut
    salut , utilise un innerhtml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var contenu=document.getElementById('div1').innerHTML;
     
    document.getElementById('div2').innerHTML=contenu;
    puis pour vider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('div1').innerHTML="";
    @+

  3. #3
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Salut,
    et si t'as besoin de conserver les valeurs des attributs des noeuds tu peux faire :

    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
    function test()	{
    	var divSrc = document.getElementById('divSrc');
    	var divDest = document.getElementById('divDest');
    	// suppression
    	while (divDest.childNodes.length > 0) {
    		divDest.removeChild(divDest.firstChild);
    	}
    	// copie
    	for(i = 0; i < divSrc.childNodes.length; i++)	{
    		divDest.appendChild(divSrc.childNodes[i].cloneNode(true));
    	}
    	// suppression
    	while (divSrc.childNodes.length > 0) {
    		divSrc.removeChild(divSrc.firstChild);
    	}
    }
    Bye

    [edit]Ah nan en fait ca garde pas les valeurs des attributs, enfin le comportement semble différent selon les nav.[/edit]
    Vive les roues en pierre

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    merci bcp

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

Discussions similaires

  1. copier le contenu d'un fichier dans un autre avec séparateur
    Par sws2008 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 03/12/2008, 09h56
  2. Copier le contenu d'une table dans une autre table
    Par kroma23 dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/11/2008, 14h14
  3. vba excel:copier le contenu d'une feuil dans une autre feuil
    Par yucf_miagiste dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/09/2007, 19h53
  4. Réponses: 4
    Dernier message: 28/08/2007, 17h11
  5. Copier le contenu d'un fichier dans un autre
    Par moncef357 dans le forum Pascal
    Réponses: 20
    Dernier message: 09/05/2007, 16h02

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