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 :

Changer class d'un element td sans l'id


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Changer class d'un element td sans l'id
    Hello.
    Voici mon problème certes tout bête.

    J'ai un tableau de cette forme:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <tr>
    <td class="active" onclick="ma_fonction()">1</td>
    <td class="active" onclick="ma_fonction()">2</td>
    <td class="active" onclick="ma_fonction()">3</td>
    </tr>

    Dans ma_fonction() il me faudrait changer la class du td sur lequel je viens de cliquer. Pas de soucis avec un ID mais je ne peux en utiliser ici. Impossible également de passer des paramètres supplémentaires lors de l'appelle de ma fonction. Et là je bloque pour cibler le td

    Merci d'avance pour l'aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ma_fonction(e){
        var monTD = e?e.target:window.event.srcElement;
        monTD.className = 'clicked';
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci pour cette réponse rapide.

    Niquel sous IE mais par contre ça ne marche pas sous Firefox (huhu j'ai l'habitude de dire l'inverse).

    window.event is undefined selon firebug.

    J'ai vu que apparemment contrairement à IE, firefox ne définit pas event et que cela peut être résolu en le déclarant lors de l'appelle de la fonction, chose que je ne peux faire.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Essaye comme ça pour voir...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ma_fonction(e){
        var monTD = e.target?e.target:window.event.srcElement;
        monTD.className = 'clicked';
    }

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pour ton aide. Malheureusement ta deuxième fonction ne marche pas.
    Mais je me suis arrangé pour faire fonctionner tout ça avec ta première solution en modifiant l'appelle de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    param = (navigator.appName == 'Microsoft Internet Explorer' ? '' : 'event')
     
    return '<td class="active" onclick="ma_fonction('+ param +')">' + mon_texte + '</td>';
    Du coup c'est bon sur tous les navigateur.
    Encore merci.

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

Discussions similaires

  1. Changer la classe d'un element HTML sous IE
    Par lemok dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/07/2007, 17h13
  2. [AJAX] Changer l'url de la page sans rafraichir la page
    Par bonjour69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/11/2006, 09h56
  3. Réponses: 11
    Dernier message: 08/11/2006, 12h50
  4. changer class name d'une fenetre mfc
    Par pingfr dans le forum MFC
    Réponses: 2
    Dernier message: 11/07/2005, 13h38
  5. Changer la police avec un select, sans recharger la page
    Par Netoman dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/12/2004, 18h07

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