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 :

Modifier contenu div


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 77
    Par défaut Modifier contenu div
    Bonjour à tous

    Alors voilà j'ai tout simplement ça dans ma page web :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="second">
        <div class="thumb"><img src="Images/square.gif"/></div>
        <div class="elem"><a href=""> TEXTE</a></div>
    </div>
    Et après un evènement (l'appui sur un bouton par exemple), je voudrais changer le contenu de mon div elem, donc en gros changer le TEXTE.
    C'est possible ?

    Merci beaucoup

  2. #2
    Membre averti
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Par défaut
    Moi dans ces cas là j'enleve la balise juste au desssus (et donc le texte a l'interrieur, puis je recreer la balise et le nouveau texte.
    Et le mieux pour ça c'est de mettre un id à ton div.
    donc normalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //suppression de la balise <a> et donc du texte
         document.getElementById("elem").removeChild.firstChild; 
    //creation de la nouvelle balise <a> et de son attribut
         var newa = document.createElement("a");
         var newhref= document.createAttribut("href");
         newhref.nodeValue=("");
    //on lit l'attribut à la balise
         newa.setAttributeNode(newhref);
    //on met ça à sa place
         document.getElementById("elem").appendChild(newa);
    //on cree le text et on l'envoi
         var newtext = document.createTextNode("Texte");
    document.getElementById("elem").getElementsByTagName("a")[0].appendChild(newtext);
    sinon tu peut aussi mettre un name à ton "elem" si tu veux pas d'un Id, faut juste connaitre sa position.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 77
    Par défaut
    Merci beaucoup de ton aide !

    Ton idée me parait très intéressante, mais là ça marche pas :/
    Je veux bien rajouter des id, mais ça changerais quoi par rapport à ton code ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 77
    Par défaut
    Au fait, je remarque que si je fais juste un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('title').removeChild.firstChild;
    Et bien ça ne l'efface pas
    Il faut rajouter quelque chose pour "actualiser" ?

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Par défaut
    mon code utilise getElmentById("elem") donc si tu fait <div class="elem"> ça marche pas, il faut <div id="elem">

    et ça c donc à mettre dans une fonction genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function majtext(){
        //le code au dessus
    }
    et dans ton html tu rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Changer text" onclick="majtext()" />
    removeChild supprime un noeud enfant de celui que tu indique <div id="parent"><div id="enfant></div></div> ici "enfant" est a l'interieur de "parent"

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    c'est bien compliqué votre truc

    Utilise innerHTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="second">
        <div class="thumb"><img src="Images/square.gif"/></div>
        <div class="elem"><a href="" id="idLien"> TEXTE</a></div>
    </div>
     
    <input type="button" value="Bouton" onclick="document.getElementById('idLien').innerHTML = 'Nouveau texte'">
    j'ai ajouté un id sur le lien puis un document.getElementById("idLien").innerHTML fait le reste.


    Sinon si tu vexu supprimer la balise de lien :
    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
    32
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function simpleTexte()
    {
     var elmtDiv = document.getElementById("monDiv");
     elmtDiv.removeChild(document.getElementById("idLien"));
     
     elmtDiv.innerHTML = "simple texte";
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <div id="second">
        <div class="thumb"><img src="Images/square.gif"/></div>
        <div class="elem" id="monDiv"><a href="" id="idLien"> TEXTE</a></div>
    </div>
     
    <input type="button" value="Bouton" id="idButton" onclick="simpleTexte()">
     
    </body>
     
    </html>

    Lors du clic sur le bouton, le lien deviendra un simple texte.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/10/2009, 18h32
  2. Modifier contenu balise div
    Par moutey dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/11/2007, 12h42
  3. [Vb] Modifier contenu d'un string
    Par Little-Freud dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/04/2006, 13h15
  4. [URGENT]modifier un DIV
    Par Invité dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2006, 17h59
  5. Modifier contenu d'une iframe
    Par castaka dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/06/2005, 15h20

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