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 :

JQuery remplacement de balises


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut JQuery remplacement de balises
    Bonjour à tous,

    Voici un code Javascript que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
            <!--
    		$(document).ready( function () {
    		    // On cache les sous-menus :
    		    $(".navigation ul.subMenu").hide();
    		    // On sélectionne tous les items de liste portant la classe "toggleSubMenu"
    		    // et on remplace l'élément span qu'ils contiennent par un lien :
    		    $(".navigation li.toggleSubMenu span").each( function () {
    		        // On stocke le contenu du span :
    		        var TexteSpan = $(this).text();
    		        $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;
    		    } ) ;
    J'aimerais que les <span> soient remplacés par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a><b>Titre</b> - <i>Nom</i></a>
    Et non pas en liens tout court Moi j'ai ceci dans mon HTML par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li class="toggleSubMenu"><span><b>La Santé au coeur du Développement.</b> - <i>My Name</i></span>
    Mon résultat souhaité est : La Santé au coeur du Développement. - My Name

    D'avance, merci

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 46
    Par défaut
    Qu'est ce que tu as au départ ? Car d'après ce que je comprends :
    - la fonction parcours tous les éléments de la classe toggleSubMenu
    - elle récupère le contenu du span à l'intérieur du toggleSubMenu dans la variable textSpan
    - elle remplace ensuite le span à l'intérieur de l'élément de classe toggleSubMenu par <a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>

    Ce que tu demandes toi c'est :
    - Prendre le contenu du span de la classe toggleSubMEnu, mais il faut en plus qu'il détermine la partie titre et la partie nom
    - qu'elle remplace ensuite le contenu du span par ton texte préformatté

    ce qui manque dans ton explication est qu'est ce que tu as au départ.

    Ceci étant supposons que ce que tu as au départ c'est :
    <li class="toggleSubMenu"><span>La Santé au coeur du Développement. - My Name/span>

    Ce qui sépare le titre du name c'est un '-'.

    En partant du principe que les fonctios de ton code son censé faire ce qu'ils font ...

    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
    ]<script type="text/javascript">
            <!--
    		$(document).ready( function () {
    		    // On cache les sous-menus :
    		    $(".navigation ul.subMenu").hide();
    		    // On sélectionne tous les items de liste portant la classe "toggleSubMenu"
    		    // et on remplace l'élément span qu'ils contiennent par un lien :
    		    $(".navigation li.toggleSubMenu span").each( function () {
    		        // On stocke le contenu du span :
    		        var TexteSpan = $(this).text();
                                      var separe=TexteSpan .split('-');
                                      var Titre=separe[0];
                                      var Nom=separe[1];
    		        $(this).replaceWith('<li class="toggleSubMenu"><span><b>'+Titre+'</b> - <i>'+Nom+'</i></span>') ;
    		    } ) ;

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut
    Parfait, tu as répondu à mon besoin ! J'ai remplacer mon "$(this).replaceWith(...)" par le tiens en ajoutant la variables "separe", "Titre" et "Nom".

    Merci !

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

Discussions similaires

  1. jQuery- Comment remplacer une balise <td/>
    Par theallnighter dans le forum jQuery
    Réponses: 1
    Dernier message: 21/07/2009, 19h53
  2. Remplacement de balises par une seule autre
    Par laurent35 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/04/2006, 08h48
  3. [RegEx] Remplacement de balise <br /><br /> gen
    Par raddical dans le forum Langage
    Réponses: 5
    Dernier message: 16/03/2006, 21h42
  4. [RegEx] pour retrouver et remplacer certaines balises
    Par Floréal dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2005, 07h03
  5. [Débutante] Remplacer la balise marquee ?
    Par silversky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/09/2005, 17h28

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