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 :

Rechercher/remplacer une ligne de code HTML par une autre ligne de code HTML


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Infographiste, Webdesigner
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Par d�faut Rechercher/remplacer une ligne de code HTML par une autre ligne de code HTML
    Bonjour � tous et � toutes,

    (Pour des raisons qui seraient trop longues � expliquer) Je sollicite votre aide en Javascript (o� je suis une buse) afin de rechercher une ligne de code HTML pour la remplacer par une autre ligne de code HTML.

    Voici mon bout de code pour un bouton Mon compte :

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <li class="bg-nav-inverse">
        <a href="https://nom_du_site.fr/user/login">
          <i class="fas fa fa-user-circle"></i>
          <span>Mon compte</span>
        </a>
    </li>

    Et dans ce bout de code je cherche en l'occurrence � remplacer :

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <i class="fas fa fa-user-circle"></i>

    (c'est � dire l'ic�ne derri�re un bouton Mon compte)
    par

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <img src="https://nom_du_site.fr/images/compte.svg">


    En cherchant sur Internet, je suis tomb� sur cette page.
    J'ai modifi�, � ma sauce le script et voici ce que �a donne :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <script type="text/javascript">
        const p = '<i class="fas fa fa-user-circle"></i>';
        console.log(p.replace('<i class="fas fa fa-user-circle"></i>', '<img src="https://nom_du_site.fr/images/compte.svg">'));
    </script>

    mais comme je ne sais pas o� le r�sultat de ce "rechercher/remplacer" est cens� s'afficher (en lieu et place du texte � remplacer ou ailleurs ?), je ne sais pas si mon script fonctionne ou non.

    Par ailleurs, m�me si ce script de "rechercher/remplacer" fonctionnait, je ne sais m�me pas si mon bouton fonctionnerait ou non.


    En effet, j'ai fait le remplacement donn� en exemple "� la main" sur le bouton Mon compte d'une page de mon site (via la console de d�veloppement), mais apr�s le remplacement de l'ic�ne FontAwesome par une image, le bouton ne fonctionnait plus. Sauriez-vous pourquoi ?

    Bref, quel serait, SVP, le code JS pour remplacer du code HTML par un autre code HTML ?

    Je vous remercie pour votre aide

    Bonne journ�e � vous ;-)

  2. #2
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    votre code remplace juste une chaine de caract�re par une autre dans la variable mais ne modifie pas l'affichage.

    est ce que vous utilisez d�j� jquery sur cette page ? je demande cela parce que je m'y connais mieux en jquery. et si vous ne voulez pas l'utiliser, un autre visiteur du forum aura surement une proposition pour faire cela en pur javascript.

  3. #3
    Membre confirm�
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Infographiste, Webdesigner
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Par d�faut
    Bonjour Mathieu,

    Merci pour votre r�ponse.
    Je crois qu'il n'y a que du Javascript dans la page.
    Ceci dit, je peux tester du jQuery et voir si �a fonctionne ou non.

    Encore merci.
    Bonne journ�e

  4. #4
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    avec jquery, vous pouvez faire le remplacement avec ce code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $("i.fas.fa.fa-user-circle").replaceWith("<img src=\"https://nom_du_site.fr/images/compte.svg\"/>");

  5. #5
    Membre confirm�
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Infographiste, Webdesigner
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Par d�faut
    D�sol� Mathieu, votre code ne fonctionne pas sur mon site.
    J'ai pourtant mis le code suivant dans le fichier remplace_html.js :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $("i.fas.fa.fa-user-circle").replaceWith("<img src=\"https://nom_du_site.fr/images/compte.svg\"/>");
    puis, dans l'ent�te de la page j'ai mis ceci pour appeler le fichier JS :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script src="https://nom_du_site.fr/scripts/remplace_html.js"></script>
    Avez-vous une id�e sur ce qui ne va pas ? A moins que quelqu'un ait une alternative en JS pur ?

  6. #6
    Membre Expert
    Avatar de Archim�de
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par d�faut
    Comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    let image=document.createElement('IMG');
    image.setAttribute('src', 'https://nom_du_site.fr/images/compte.svg\');
    document.body.replaceChild(image, document.getElementsByClassName("fas fa fa-user-circle")[0] );
    J'ai peut-�tre oubli� des trucs... sinon regarde ici :
    https://developer.mozilla.org/fr/doc...e/replaceChild

  7. #7
    Expert confirm�
    Avatar de ProgElecT
    Homme Profil pro
    Retrait�
    Inscrit en
    D�cembre 2004
    Messages
    6 132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 69
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 6 132
    Par d�faut
    Citation Envoy� par spip93 Voir le message
    Bonjour Mathieu,
    ...
    Je crois qu'il n'y a que du Javascript dans la page.
    Ceci dit, je peux tester du jQuery et voir si �a fonctionne ou non.
    ...
    Pour utiliser du jQuery il faut charger le fichier correspondant
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    	<head>
    		<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
    	</head>
    Un lien pour avoir le fichier en local https://jquery.com/download/#downloading-jquery
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont d�pann�s.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre confirm�
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Infographiste, Webdesigner
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Par d�faut
    Bonjour Mathieu,

    D�sol� de vous r�pondre si tardivement, mais comme mes premi�res tentatives ne fonctionnaient pas, j'avais (un temps) laiss� tomb�.

    Tout � l'heure, j'ai refait une tentative avec votre premier script :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script>$("i.fas.fa.fa-user-circle").replaceWith("<img src=\"https://nom_du_site.fr/images/compte.svg\"/>");</script>
    sauf que cette fois-ci je l'ai plac� dans le pied de page et... (miracle) �a a fonctionn� !!

    Je crois que la diff�rence (et l'erreur) fondamentale vient de l� (d'o� je place le JS).
    J'ai (b�tement) cru pouvoir mettre le JS dans le header. Mea culpa

    En tout cas un grand merci � vous , �a m'ouvre un certain nombre de perspectives.

  9. #9
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Il faut en effet faire attention � la chronologie avec laquelle les codes sont interpr�t�s.

    les �l�ments doivent exister dans le dom afin de pouvoir les manipuler ( en JS document.addEventListener('DOMContentLoaded', ... )

    c'est d'ailleurs � cela que sert le document ready en javascript qui attend que les �l�ments soient impl�ment� ce qui permet de placer le script n'importe ou, sinon il faut en effet placer le script APRES que le code HTML de l'�l�ment ait �t� interpr�t� par le navigateur:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    $(document).ready( function(){ 
              $("i.fas.fa.fa-user-circle").replaceWith("<img src=\"https://nom_du_site.fr/images/compte.svg\"/>");
    });
    ou notation abr�g�e :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $(function(){$("i.fas.fa.fa-user-circle").replaceWith("<img src=\"https://nom_du_site.fr/images/compte.svg\"/>");});
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Champ aliment� par une recherche d'une autre table
    Par garbit dans le forum Mod�lisation
    R�ponses: 5
    Dernier message: 03/04/2013, 09h04
  2. Rechercher/remplacer une chaine de caract�res dans plusieurs fichiers
    Par _shuriken_ dans le forum Shell et commandes GNU
    R�ponses: 5
    Dernier message: 31/07/2011, 20h06
  3. R�ponses: 1
    Dernier message: 23/10/2009, 18h49
  4. R�ponses: 25
    Dernier message: 30/05/2007, 13h03
  5. Rechercher remplacer une chaine dans 150 procs.
    Par gregco1 dans le forum Oracle
    R�ponses: 8
    Dernier message: 14/06/2006, 17h39

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