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 une image en fonction d'une propriété CSS


Sujet :

jQuery

  1. #1
    Membre régulier Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Points : 86
    Points
    86
    Par défaut Récupérer une image en fonction d'une propriété CSS
    Bonjour,

    J'ai un petit soucis qui ne parait compliqué mais qui me bloque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="interrogeablefranceRaster" class="interrogeable" src="images/spacer.gif" style="background-image: url(images/tree/iconeInfo.png); background-position: center top; height: 12px; width: 12px;" onclick="interrogeableOuNon(this);"/>
    En gros je voudrais récupérer cette image. La chose discriminante est en rouge. Les autres images ont un autre aspect et ont un code de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="interrogeablefranceRaster" class="interrogeable" src="images/spacer.gif" style="background-image: url(images/tree/iconeInfo.png); background-position: center bottom; height: 12px; width: 12px;" onclick="interrogeableOuNon(this);"/>
    Je voudrai donc récupérer l'image qui a pour attribut background-position: center top.

    Merci de votre aide, je continue à tester dans mon coin

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    Bien le bonsoir,

    En fait un style n'a pas à être porteur de logique.
    Si tu souhaites extraire une image, il faut lui donner un autre caractère discriminant (un nouvel attribut html, une position précise dans un autre noeud ...).

  3. #3
    Membre régulier Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Points : 86
    Points
    86
    Par défaut
    Que puis-je rajouter comme attribut html discriminant ?

    Et sinon ce n'est pas possible de récupérer une image avec un attribut CSS particulier avec JQuery ?

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    +1 avec khayyam90

    Je pense qu'il serait plus judicieux de créer un classe css pour
    appliquer le style background-position, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .toto { background-position: center top; }
    EDIT: background-position: top; suffit, ça le centre horizontalement

    et d'appliquer cette classe aux images concernée ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="interrogeablefranceRaster" class="interrogeable toto" ... />
    Ensuite tu peux facilement sélectionner les images concernées
    avec un sélecteur JQuery du genre $('img.toto')

    En suposant qu'il y aie qu'une image qui corresponde dans ta page (si j'ai
    bien compris ta question) tu peux essayer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var image_url = $('img.toto').attr('src');
    Si tu ne peux pas procéder ainsi, alors tu peux toujours essayer un
    sélecteur JQuery qui se base sur la présence d'une certaine valeur
    à l'intérieur d'un attribut, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var image_url = $("img[style*='center top']").attr('src');

  5. #5
    Membre régulier Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Points : 86
    Points
    86
    Par défaut
    Oui du coup c'est ce que j'ai fait sauf que j'ai mis un attribut name dans l'image mais c'est vrai que j'aurai pu mettre 2noms de classes je n'y avais pas pensé.

    Merci

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

Discussions similaires

  1. [XL-2013] Afficher une image en fonction d'une valeur
    Par Dragonouest dans le forum Excel
    Réponses: 8
    Dernier message: 18/06/2015, 10h56
  2. Réponses: 7
    Dernier message: 21/10/2014, 15h18
  3. [Débutant] Changer une image en fonction d'une DropDownList
    Par Mozofeuk dans le forum ASP.NET MVC
    Réponses: 3
    Dernier message: 15/10/2013, 16h09
  4. Afficher une image par défaut lorsque une image ne s'affiche pas
    Par ne2sbeal dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 10/10/2011, 10h42
  5. Réponses: 1
    Dernier message: 06/11/2009, 13h52

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