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 :

Récupérer des chaines de caractères après le dernier slash


Sujet :

jQuery

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut Récupérer des chaines de caractères après le dernier slash
    Bonjour

    J'ai placé une image dans ma page html dont voici le code:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="img1" src="../images/galerie/img/lion.jpg" alt="image non disponible">

    Je voudrais récupérer la chaine de caractères lion.jpg en utilisant JQuery.

    Je sais seulement que la méthode chartAt(position) permet d'obtenir le caractère qui se trouve à une position donnée dans une chaîne,mais dans mon cas c'est pas utile.

    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    pour le principe
    • récupération du contenu de l'attribut scr ;
    • split de la valeur suivant / ;
    • récupération du dernier élément .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log($("#img1").attr("src").split("/"));  // pour voir ce que cela donne

  3. #3
    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
    ou encore un match de reg
    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 !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    C'est vrai que l'on peut presque tout faire à coup d'expression régulière mais à condition, un de s'y connaître suffisamment pour ne pas trop batailler et deux de les écrire correctement [^\/]+$.

  5. #5
    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
    pas nécessaire... entre []

    https://jsfiddle.net/txtc8pzL/2/

    encore une subtilité des regs
    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 !

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Citation Envoyé par SpaceFrog
    Peux-tu m'expliquer à quoi sert ce lien?

    Sinon j'ai pu récupérer le dernier élément mais j'ai dû préciser sa position dans le tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var element = $("#img1").attr("src").split("/");
     
    console.log(element[4]);
    Sauf que si mon tableau s'agrandit, element[4] ne sera plus le dernier élément de mon tableau.

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Sauf que si mon tableau s'agrandit, element[4] ne sera plus le dernier élément de mon tableau.
    Il te faut tirer avantage de la méthode pop() des Array qui supprime en retournant la valeur du dernier élément d'un tableau, donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var nomImage = $("#img1").attr("src").split("/").pop();
    Peux-tu m'expliquer à quoi sert ce lien?
    Cela sert à tester les codes « online ».


    Citation Envoyé par SpaceFrog
    pas nécessaire... entre []
    Comme quoi je ne maitrise strictement pas, mais alors pas du tout, les expressions régulières et j'ai tendance à échapper systématiquement, mais en fait je parlais du / manquant !

  8. #8
    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
    @momjunior => le lien est une mise en oeuvre du code ... regarde dans la console ou remplace le console.log par alert ...
    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 !

  9. #9
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Je ne connaissais pas la méthode pop(), en tout cas ça marche. Auriez-vous des tutos qui parlent de ce genre de méthodes? J'aimerais approfondir mes recherches.

    Pour tester mes codes, j'utilise la console de firefox (F12); est-ce différent du lien que vous m'avez envoyé?

    Merci

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Pour la documentation il y a celle sur MDN : Array.prototype.pop() et le reste.

    jsfiddle.net ou autre codepen.io (il y en à encore d'autres) te permettent de tester un peu plus que du javascript, ce sont des « bacs à sable », ils sont également plus conviviaux que la console ou que l'ardoise FireFox qui reste sympa pour des petits bouts de code.

  11. #11
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Ok merci pour tout.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/11/2017, 15h16
  2. Réponses: 1
    Dernier message: 11/05/2017, 18h18
  3. Réponses: 2
    Dernier message: 07/08/2012, 16h20
  4. récupérer une chaine de caractères avec des espaces
    Par doubiste_59 dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2010, 15h17
  5. [AppleScript] Récupérer des chaines de caractères à partir d'un choose file
    Par Flore22 dans le forum AppleScript
    Réponses: 3
    Dernier message: 15/04/2010, 09h41

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