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 :

[DOM] pointer un élément en fonction de ses css


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut [DOM] pointer un élément en fonction de ses css
    Bonjour,

    Mon problème est simple, mais j'ai décidément beaucoup de mal avec l'ergonomie du js...

    Je dois pouvoir pointer dans mon document une image si et seulement si sa largeur est égale à 138px, auquel cas, par la suite, je dois pouvoir lui attribuer une propriété css en plus.

    pour la première partie, fastoche (si je ne m'abuse) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($('id').img.height=='138')
    mais alors comment lui faire un petit setStyle à cette image, qui n'a pas d'id, rien du tout. ?? J'imagine qu'une variable peut contenir "cette image dans le dom dont la hauteur est de 138px", non ?

    Merci !

  2. #2
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    oulà j'ai le complexe du cornflakes ... j'ai rien compris ...

    pointer ???
    quel est le but final ???
    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 !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut ?
    Et bien comme je le précise, le but final est de pouvoir ajouter une propriété css en plus à une image du document si et seulement si sa largeur est de 138px (petite précision les tailles des images sont elles-même contrôlées en javascript, donc ce n'est pas toujours la même qui fait 138px de large... et je dois la retrouver par la suite pour lui attribuer via setStyle une propriété css en plus)...

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Niveau algo :
    - tu récupères ta collection d'image ( getElementsByTagName("img") )
    - parcours de ta collection en vérifiant la largeur : ( if(listeImg[i].width == "138")
    - si oui tu affecte une class : className ... ( j'ai un trou pour l'affectation sous ie ou firefox , spafyyyyyyyyyy ? )

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    - si oui tu affecte une class : className ... ( j'ai un trou pour l'affectation sous ie ou firefox , spafyyyyyyyyyy ? )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeImg[i].className=nouvelle_class;


    EDIT : au passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(listeImg[i].style.width == "138"
    Et les "px" gêneront peut-être le test ...

    A+

  6. #6
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    a quel moment sur quel evènement
    et largeur ou hauteur ???


    pour scanner les images de la page :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var TabImages=document.getElementsByTagName('img')
    var NrImg=TabImages.length
    var TooLarge=new Array()
    for (i=0;i<NrImg;i++){
     if (TabImages[i].offsetWidth>138){TooLarge.push(TabImages[i])}
    }
    et là dasn toolarge tu as l'enseble des images de la page qui ont une largeur supérieur à 138 px ...
    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 !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    Niveau algo :
    - tu récupères ta collection d'image ( getElementsByTagName("img") )
    - parcours de ta collection en vérifiant la largeur : ( if(listeImg[i].width == "138")
    - si oui tu affecte une class : className ... ( j'ai un trou pour l'affectation sous ie ou firefox , spafyyyyyyyyyy ? )
    bin justement c'est pour cette affectation que je bloque ; en tout cas c'est une bonne piste de récupérer la liste sous forme d'array, mais comment retrouver le numéro de l'image dont le width est égal à 138 (donc ce [i]), afin de pouvoir faire listeImg[3].setStyle... ??

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Lol fillot ^^
    tu as pensé au même array que moi
    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 averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    a quel moment sur quel evènement
    et largeur ou hauteur ???


    pour scanner les images de la page :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var TabImages=document.getElementsByTagName('img')
    var NrImg=TabImages.length
    var TooLarge=new Array()
    for (i=0;i<NrImg;i++){
     if (TabImages[i].offsetWidth>138){TooLarge.push(TabImages[i])}
    }
    et là dasn toolarge tu as l'enseble des images de la page qui ont une largeur supérieur à 138 px ...
    Ouais ! super, je teste ça tout de suite ! Merci bcp...

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    lol les grand esprit se rencontrent
    tu as tapé le code de mon algo lol
    Merci auteur pour mon pti trou de mémoire , mais si je ne me trompe l'affectation d'une classe n'est pas la même sous ie et firefox ???

    sinon habituellement je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monElement.setAttribute("class","maclasse");
    monElement.setAttribute("className","maclasse");

  11. #11
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monElement.className="maclasse";
    devrait mettre IE et FFX d'accord non ?
    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 !

  12. #12
    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
    Citation Envoyé par le_chomeur Voir le message
    l
    Merci auteur pour mon pti trou de mémoire , mais si je ne me trompe l'affectation d'une classe n'est pas la même sous ie et firefox ???

    sinon habituellement je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monElement.setAttribute("class","maclasse");
    monElement.setAttribute("className","maclasse");
    mais, je n'ai rien dis moi... ou je me perds vraiment


    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monElement.className="maclasse";
    devrait mettre IE et FFX d'accord non ?
    En effet, ça marche pour les deux
    J'ai abandonné getAttribute() et setAttribute()

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

Discussions similaires

  1. [Requête] Tri d'éléments en fonction de deux heures différentes
    Par Grandchon dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/05/2007, 18h45
  2. [XSLT] Texte d'un élément, mais pas de ses enfants
    Par PierreY dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/02/2007, 10h22
  3. [XPath]récupération d'éléments en fonction d'attributs
    Par ep31 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 10/06/2006, 11h58
  4. [DOM] Insérer un élément à un endroit précis du DOM
    Par pekka77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/05/2006, 12h47
  5. [DOM] Sélectionner un élément
    Par franculo_caoulene dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 30/03/2006, 14h21

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