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

jQuery Discussion :

Remplacer le contenu d'un div par un autre


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Remplacer le contenu d'un div par un autre
    Bonjour,
    comme le titre l'indique, je travaille sur un site web et j'aimerais récupérer le contenu d'un div d'une page spécifique, le stocker dans une variable et l'utiliser pour remplacer le contenu du div d'une autre page. Je signale que je suis novice, à l'aide de bout de codes trouvés ça et là sur le net, j'ai constitué le code suivant mais ça ne marche pas. Pourriez vous m'indiquer l'erreur?
    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
    (function ($) {
    $(document).ready(function(){ 
    //j'initialise une variable qui récupère le contenu de la page source
    var contenu_source = $('body.page-source div#main-content').html();
     
    //Je place le lien qui permettra d'effectuer le switch entre les deux pages au //début de la page de destination
    $('body.page-dest div#main-content').prepend('<a href=#>Cliquer pour changer l\'affichage</a>');
     
    //je lui rajoute une classe lien-pour-switcher
        	$( 'body.page-dest div#main-content a' ).first().addClass( 'lien-pour-switcher' );
     
    //cette classe me permet de donner l'instruction : au clique remplace le //contenu de destination par le contenu source
    $(".liens-pour-switcher").click(function(){    			            
        $('body.page-dest div#main-content').replacewith(contenu_source);
    });
    });
    })(jQuery);
    Merci

  2. #2
    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
    Je comprends rien à ce que tu demandes...
    Mais juste une chose, la balise <body> devant être unique dans la page, comment fais-tu pour avoir un $('body.page-source') et un $('body.page-dest') qui semblent ne pas correspondre au même élément ?

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    En fait, l'idée de ce que je voudrais faire, c'est lorsque je suis sur la page destination et que je clique sur le lien que j'ai rajouté, le main content de la page de destination est remplacé par le main content de la page source.
    oui, le 'body' est unique mais quand je rajoute la classe .page-source ou .page-destination, l'action s'effectue seulement sur la page que je veux et non pas toutes les pages du site (quand je ne précisais pas la classe de la page, le lien était rajouté sur toutes les pages...)

  4. #4
    Membre régulier Avatar de manry
    Homme Profil pro
    Alternant administration système et sécurité
    Inscrit en
    Janvier 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Alternant administration système et sécurité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 64
    Points : 79
    Points
    79
    Par défaut
    AHA trouvé en fais tu a 2 classes différentes ^^
    la première
    lien-pour-switcher
    et la deuxième
    liens-pour-switcher
    tu a un 'S' en trop dans la deuxième

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    ah oui! merci manry, j'ai rectifié mais toujours rien... peut être y a t-il un souci dans ma logique...

  6. #6
    Membre régulier Avatar de manry
    Homme Profil pro
    Alternant administration système et sécurité
    Inscrit en
    Janvier 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Alternant administration système et sécurité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 64
    Points : 79
    Points
    79
    Par défaut
    bon après plusieurs test je ne peux pas récuperer d'éléments d'autres pages mais comme je suis un gars bien je te passe mes codes de test pour que tu puisse voir par toi même (essaye de mettre une valeur en dur dans ta variable et tu verra qu'elle passe bien )

    source :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta content="text/html; charset = utf-8" http-equiv="Content-Type">
    		<link href="impression.css" media="all" rel="stylesheet" type="text/css">
    	</head>
     
    	<body class = 'page-source'>
    		<div id = 'main-content'>
    			<p>foo</p>
    		</div>
    	</body>
    </html>

    dest:
    Code html : 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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta content="text/html; charset = utf-8" http-equiv="Content-Type">
    		<script src = "jquery.js"></script>
    		<script>
                    $(document).ready(function(){ 
                            //j'initialise une variable qui récupère le contenu de la page source
                            var $contenu_source = $('.page-source #main-content p');
     
                            //Je place le lien qui permettra d'effectuer le switch entre les deux pages au //début de la page de destination
                            $('.page-dest #main-content').prepend('<a href=#>Cliquer pour changer l\'affichage</a>');
     
                            //je lui rajoute une classe lien-pour-switcher
                            $( '.page-dest #main-content a' ).first().addClass( 'liens-pour-switcher' );
     
                            //cette classe me permet de donner l'instruction : au clique remplace le //contenu de destination par le contenu source
                            $('.liens-pour-switcher').on('click', function(){
                                    console.log($contenu_source);
                                    $('.page-dest #main-content p').text($contenu_source);
                            });
                    });
            </script>
    	</head>
     
    	<body class = 'page-dest'>
    		<div id = 'main-content'>
    			<p>bar</p>
    		</div>
    	</body>
    </html>

    copie directement les codes dans ton éditeur pour tester

  7. #7
    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
    Bah non... JavaScript n'a accès qu'à la page dans laquelle il s'exécute...

  8. #8
    Membre régulier Avatar de manry
    Homme Profil pro
    Alternant administration système et sécurité
    Inscrit en
    Janvier 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Alternant administration système et sécurité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 64
    Points : 79
    Points
    79
    Par défaut
    effectivement mais je pensais à autre chose en testant son code

  9. #9
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci à vous, avec vos remarques je me rends compte que mon code ne peux pas marcher car je désire travailler avec 2 pages différentes et non la même. Il manque du Ajax. je vais essayer de l'améliorer dans ce sens, je posterai le nouveau code obtenu...

Discussions similaires

  1. Remplacer le contenu d'une cellule par d'autres
    Par yezispam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/04/2015, 15h05
  2. remplacer le contenu d'une cellule par un autre avec une macro
    Par valentin31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/11/2012, 09h02
  3. Remplacer lettres contenues dans une variable par d'autres lettres
    Par AZzjeioafh dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 02/12/2009, 18h53
  4. contenu d'une div par dessus une autre
    Par bonjour69 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 15/01/2007, 09h43
  5. Remplacer le contenu d'un div par un autre
    Par prgasp77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/10/2004, 23h48

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