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

  1. #1
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    mai 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : mai 2017
    Messages : 70
    Points : 55
    Points
    55

    Par défaut Compréhension du sélecteur is() vs not()

    Bonjour à tous;

    Je rencontre une erreur JQUERY que j'ai du mal à saisir, voici mon premier test avec le html suivant :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <body>
    	<!-- <select>
    		<option>Toto1</option>
    		<option>Toto2</option>
    	</select> -->
    <div id="graphiques">
    	<div class="container">
    		<p id="Toto1">Toto1</p>
    	</div>
    	<div class="container">
    		<p id="Toto2">Toto2</p>
    	</div>
    </div>
    </body>
    .

    et Jquery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $(document).ready(function(){
    	// var $select = $('select'),
    	// 		select_val='';
     
    	// $select.on('change',function(){
    	// 	select_val = $select.val();
    	$('.container').children().not("#Toto2").hide();
    	// });
    });
    celui fonctionne bien avec le not mais pas avec le "is" et je rencontre l'erreur suivante :
    jQuery.Deferred exception: $(...).children(...).is(...).hide is not a function
    Comment cela se fait il ?

    Merci beaucoup d'avance

  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
    38 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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 : 38 346
    Points : 65 697
    Points
    65 697
    Billets dans le blog
    1

    Par défaut

    je pense que le souci provient du fait que le is() ne fait pas office de filtre ... mais retourne true si au moins un des elements matche le selecteur ?


    Essaye plutot avec filter()


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.container').children().filter( function(){ return $(this).attr('id'!="#Toto2" }).hide();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.container').children().filter( function(){ return !$(this).is("#Toto2") } ).hide();
    ou le selecteur ":not()"
    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


    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    mai 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : mai 2017
    Messages : 70
    Points : 55
    Points
    55

    Par défaut

    Ah d'accord ^^

    Je pensais que le .is faisait la même chose que le not mais à l'inverse ^^

  4. #4
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    15 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 15 067
    Points : 30 700
    Points
    30 700

    Par défaut

    Bonjour,

    ce n'est pourtant pas difficile de chercher et trouver la DOC (et ça doit devenir un réflexe !) :


    Description:
    Remove elements from the set of matched elements.

    Description:
    Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments.
    Donc : rien à voir quant au fonctionnement.

    On trouvera .is() dans une condition :
    (par ex.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( $('....').is(':checked') ){ // checkbox cochée ?
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 13 705
    Points : 33 340
    Points
    33 340

    Par défaut

    Bonjour,
    pourquoi ne pas utiliser directement un sélecteur CSS3 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(".container :not('#Toto2')").hide();

  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
    38 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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 : 38 346
    Points : 65 697
    Points
    65 697
    Billets dans le blog
    1

    Par défaut

    NoSmo
    ou le selecteur ":not()"
    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


    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 13 705
    Points : 33 340
    Points
    33 340

    Par défaut


    diantre, diable, diarrhée (*), j'ai la vue qui baisse !

    (*) cherchez l'intrus.

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

Discussions similaires

  1. 2 fois :not dans un sélecteur
    Par moimp dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 22/07/2017, 21h37
  2. [Turbo C++] Fonciton containing for are not expanded inline
    Par BuG dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 17/02/2003, 06h48
  3. Problème de compréhension des ensembles
    Par Cornell dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 22h07
  4. Component not found
    Par Pm dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 14h40
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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