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

Contributions JavaScript / AJAX Discussion :

[jQuery] Comment puis-je vérifier si un élément a une classe en particulier ? [À publier]


Sujet :

Contributions JavaScript / AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut [jQuery] Comment puis-je vérifier si un élément a une classe en particulier ?
    Relecteur au rapport :p
    Je vais y aller page par page pour que ça reste lisible.
    http://danielhagnoul.developpez.com/...mentClass.html

    L'exemple 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( $( "#monID" ).is( ".maClasse" ) ){
       $( this ).show();
    }
    il manque un # devant monID, et rien n'indique que this corresponde à l'élément #monID

    L'exemple 2:
    Pour ce usecase précis, on devrait encourager à utiliser un sélecteur plus précis plutôt qu'une condition dans le callback du listener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "div.maClasse" ).on( "click", function(){
    On peut revoir l'exemple comme ça :

    Lors d'un clic sur une division, si la division a la classe "maClasse" alors colorer le texte en rouge sinon le colorer en bleu
    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
    $( "div" ).on( "click", function(){
     
    	/*
    	 * La construction d'un sélecteur est une opération coûteuse,
    	 * on accélère le traitement du code en placant l'objet jQuery
    	 * dans une variable.
    	 */
    	var jObj = $( this );
     
    	if ( jObj.hasClass( "maClasse" ) ){		
    		jObj.css( "color", "red" );
    	} else {
    		jObj.css( "color", "blue" );
    	}	
    });
    Là une action a lieu pour toutes les div cliquées, donc le sélecteur large est justifié.

    Enfin l'explication sur l'argument "slow" de animate est hors de propos dans cette section. Si on veut faire une FAQ sur l'animation, il faudrait créer une section à part.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Q/R modifié.

    • Merci pour la correction des bogues.
    • Merci pour les remarques et suggestions, elles sont appréciées même si elles ne figurent pas dans le Q/R modifié.
    • Attention, il faut souvent relancer la page pour voir la dernière version à cause du cache du navigateur.


    Si j'ai bonne mémoire, l'explication sur "slow" a été ajoutée à la demande d'un réviseur de la première version de la FAQ. Je la trouve utile et pertinente.

    Pour les Q/R, les exemples et les extraits de code, le champ des possibles est vaste, on ne sera jamais exhaustif et le choix ne plaira jamais à tout le monde. Pourquoi avoir choisi cet extrait plutôt que celui-là lors de la première rédaction de la FAQ : simplement en fonction des questions posées par les débutants dans le forum jQuery à cette époque.

    Au sujet de la méthode animate() : si on ne peut pas donner un exemple comportant des méthodes vues ailleurs (d'autres Q/R ou seulement dans l'API), ce n'est plus une FAQ minimaliste. Dans ce cas, je suggère de prendre modèle sur l'API jQuery et de commencer sa traduction, je recommande de vous y mettre tout de suite, car ce sera sans moi. Vu le peu d'intérêt des débutants et des forumeurs en général pour les FAQ, j'ai déjà eu moult preuves de ce désintérêt sur le forum jQuery, je ne vois aucune raison d'y mettre plus d'énergie et d'heures de travail que je l'estime nécessaire.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    L'ajout d'une animation ici n'est pas nécessaire. Cependant, cet exemple montre l'utilisation d'une (l'existence des) animation(s). Ce qui peut servir au visiteur. Tant qu'il n'y a pas une section consacrée aux animations, je propose de laisser l'exemple ainsi.

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    @vermine

    Construire un exemple qui utilise une méthode dans un Q/R d'une section de la FAQ et construire une autre section dédiée aux méthodes de ce type n’est pas antinomique.


    @SpaceFRog

    • Merci pour la correction des bogues.
    • Merci pour les remarques et suggestions, elles sont appréciées même si elles ne figurent pas dans le Q/R modifié.
    • Attention, il faut souvent relancer la page pour voir la dernière version à cause du cache du navigateur.


    Suite son MP, les Q/R ci-dessous ont été modifiés ce matin :


    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Je vais réfléchir à la suppression de la question sur l'utilisation des frameworks JavaScript.

    Nous en sommes à 4 questions de relues.

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    il n'est plus nécessaire de promouvoir ou de défendre jQuery.
    ça je veux bien le croire, mais est-ce que inversement on ne pourrait pas parler des cas où jQuery n'est pas utile ?

    Beaucoup de développeurs l'incluent par défaut dans leurs projets alors qu'ils n'en utilisent que 10% des fonctions. On devrait parler des alternatives plus légères qui utilisent une sous-partie de l'API jQuery :
    http://zeptojs.com/
    http://minifiedjs.com/

Discussions similaires

  1. [FAQ] [jQuery]Comment puis-je obtenir les paramètres de l'option choisie (select option) ?
    Par NoSmoking dans le forum Contributions JavaScript / AJAX
    Réponses: 1
    Dernier message: 18/03/2014, 23h47
  2. [FAQ] [jQuery] Comment puis-je changer l'ordre des éléments d'une liste ?
    Par SylvainPV dans le forum Contributions JavaScript / AJAX
    Réponses: 3
    Dernier message: 18/03/2014, 23h44
  3. [FAQ] [jQuery] Comment puis-je vérifier si un élément existe ?
    Par SylvainPV dans le forum Contributions JavaScript / AJAX
    Réponses: 2
    Dernier message: 30/12/2013, 16h32
  4. Réponses: 3
    Dernier message: 03/11/2011, 11h04
  5. Réponses: 13
    Dernier message: 06/04/2011, 16h56

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