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 :

Accéder à un élément précis du DOM


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut Accéder à un élément précis du DOM
    Bonjour,
    Je débute en jQuery, et j'essaye me former, je rencontre une difficulté qui me bloque depuis des heures :
    Je veux isoler le comportement d'un élément, mais je n'arrive pas à le cibler, je ne connais pas la syntaxe exacte.
    Voici mon code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <div id="onglet1" class="onglet">		
    		<script type="text/javascript">								
    		   //DEBUT INITIALISATION AU CHARGEMENT
    			jQuery(function(){
    				jQuery("#pagination1 a:eq(0)").addClass("activepage");
    				jQuery(".page_news1").not(":eq(0)").hide();
    			});
    			//FIN INITIALISATION AU CHARGEMENT
     
    			//EVENEMENT SUR CLICK Pagination
    			jQuery(function(){
    				jQuery("#pagination1 a").click(function(){
    				jQuery(".page_news1").hide();	
    				jQuery("#pagination1 a").removeClass("activepage");
    				jQuery(this.hash).show(); // AFFICHE LE CONTENU DE LA DIV GRACE A UNE ANCRE
    				jQuery(this).blur("#pagination1 a").addClass("activepage");		
    				return false;
    				});
    			});
    		</script>
     
    		<div id="lesnews" style="float: left;">
    		<!-- Debut Affichage par page -->					
    			<div class="page_news1" id="page1">					
    				<div class="ColumnLeft">								
    					<h4 class="news_title">SYLVAIN XXXXXX - 8-août-2011 - <strong>5/5</strong></h4>
    					<p class="content_news">Bel Hotel, Bon Accueil, Bon petit déjeuner RAS</p>
    				</div>
    				<div class="clearFloat"></div>    
     
    				<div class="ColumnLeft">			
    					<h4 class="news_title">ALI EL XXXX - 1-août-2011 - <strong>5/5</strong></h4>
    					<p class="content_news">pesrsonnel charmand, très bon acceuil.chambres spacieuses et calmes...</p>
    				</div>
    				<div class="clearFloat"></div>    	 
    		</div>
    		<!-- Fin Affichage par page -->
     
    		<!-- Pagination -->
    		<div id="pagination1" class="onglet1">
    			<p>Pages :</p>
    			<ul>
    				<li><a href="#page1">1</a></li>
    				<li><a href="#page2">2</a></li>
    			</ul>
    			<div class="clear"></div>
    			</div>
    		</div>
    </div>
    Ce code se répète 2 fois car il est dans une boucle PHP, c'est pas super optimisé, mais je maitrise pas encore suffisemment.
    Je veux faire en sorte de cibler les éléments fils de la DIV "#onglet1" par exemple accéder à "#pagination1", "".page_news1" etc mais en préfixant de la DIV "#onglet1 #paginations1" par exemple, quand je fais "#onglet1 > #paginations1" cela ne fonctionne pas.
    Cela me permettrait de modifier mes fonctions jQuery pour isoler les comportements.

    D'avance merci pour votre aide

  2. #2
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    $("#onglet1 #pagination1") va bien sélectionner l'élément pagination1.

    jQuery('ancestor descendant')

    A selector to filter the descendant elements.

    Description: Selects all elements that are descendants of a given ancestor.
    A descendant of an element could be a child, grandchild, great-grandchild, and so on, of that element.
    source

    Si tu cherche à faire de la pagination avec Jquery il existe des plugins qui marche bien (exemple), déjà tout prêt.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Bonjour Golgotha,

    Merci pour ta réponse, je fais un test, car j'ai déjà utilisé ce principe plusieurs fois, mais là je cale complètement, je vais voir ton exemple, je te tiens au courant.

    En fait je m'en était déjà servi ici :
    http://www.bookinnfrance.com/group.html

    Pour le menu de gauche et pour la pagination, et ça fonctionnait nickel.

    Ce qui me gêne c'est que j'ai plusieurs DIV et des fois les comportements se mélangent. Je ne sais pas si tu vois ce que je veux dire.

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut Cela ne fonctionne toujours pas
    Voici le code final :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
     
    <div id="col-right-map" style="background-color: #fff;padding: 5px;">
     	<script type="text/javascript">								
    	   //DEBUT INITIALISATION AU CHARGEMENT
    		jQuery(function(){
    			jQuery("#menu_vertical a:eq(0)").addClass("actif");
    			jQuery(".onglet").not(":eq(0)").hide();
    		});
    		//FIN INITIALISATION AU CHARGEMENT
     
    		//EVENEMENT SUR CLICK Menu Hotels
    		jQuery(function(){
    			jQuery("#menu_vertical a").click(function(){
    			jQuery(".onglet").hide();
    			jQuery("#menu_vertical a").removeClass("actif");
    			jQuery(this.hash).show(); // AFFICHE LE CONTENU DE LA DIV GRACE A UNE ANCRE
    			jQuery(this).blur("#menu_vertical a").addClass("actif");	
    			return false;
    			});
    		});
    	</script>
     	<div id="menu_vertical">
    		<h3 class="news_title">Voir les commentaires : &nbsp;</h3>		
    		<ul> 
    			<li><a href="#onglet1">Comfort</a></li>	
    			<li><a href="#onglet2">Quality</a></li>
    		</ul>
    	</div>
    	<p>&nbsp;</p><p>&nbsp;</p>
    <div id="onglet1" class="onglet">		
    		<script type="text/javascript">								
    		   //DEBUT INITIALISATION AU CHARGEMENT
    			jQuery(function(){
    				jQuery("#onglet1 #pagination1 a:eq(0)").addClass("activepage");
    				jQuery("#onglet1 .page_news1").not(":eq(0)").hide();
    			});
    			//FIN INITIALISATION AU CHARGEMENT
     
    			//EVENEMENT SUR CLICK Pagination
    			jQuery(function(){
    				jQuery("#onglet1 #pagination1 a").click(function(){
    				jQuery("#onglet1 .page_news1").hide();	
    				jQuery("#onglet1 #pagination1 a").removeClass("activepage");
    				jQuery(this.hash).show(); // AFFICHE LE CONTENU DE LA DIV GRACE A UNE ANCRE
    				jQuery(this).blur("#onglet1 #pagination1 a").addClass("activepage");		
    				return false;
    				});
    			});
    		</script>
     
    		<div id="lesnews" style="float: left;">
    		<!-- Debut Affichage par page -->					
    			<div class="page_news1" id="page1">					
    				<div class="ColumnLeft">								
    					<h4 class="news_title">SYLVAIN XXXXXX - 8-août-2011 - <strong>5/5</strong></h4>
    					<p class="content_news">Bel Hotel, Bon Accueil, Bon petit déjeuner RAS</p>
    				</div>
    				<div class="clearFloat"></div>    
     
    				<div class="ColumnLeft">			
    					<h4 class="news_title">ALI EL XXXX - 1-août-2011 - <strong>5/5</strong></h4>
    					<p class="content_news">pesrsonnel charmand, très bon acceuil.chambres spacieuses et calmes...</p>
    				</div>
    				<div class="clearFloat"></div>    	 
    		</div>
    		<!-- Fin Affichage par page -->
     
    		<!-- Pagination -->
    		<div id="pagination1" class="onglet1">
    			<p>Pages :</p>
    			<ul>
    				<li><a href="#page1">1</a></li>
    				<li><a href="#page2">2</a></li>
    			</ul>
    			<div class="clear"></div>
    			</div>
    		</div>
    </div>
     
    <div id="onglet2" class="onglet">		
    		<script type="text/javascript">								
    		   //DEBUT INITIALISATION AU CHARGEMENT
    			jQuery(function(){
    				jQuery("#onglet1 #pagination2 a:eq(0)").addClass("activepage");
    				jQuery("#onglet1 .page_news2").not(":eq(0)").hide();
    			});
    			//FIN INITIALISATION AU CHARGEMENT
     
    			//EVENEMENT SUR CLICK Pagination
    			jQuery(function(){
    				jQuery("#onglet1 #pagination2 a").click(function(){
    				jQuery("#onglet1 .page_news2").hide();	
    				jQuery("#onglet1 #pagination2 a").removeClass("activepage");
    				jQuery(this.hash).show(); // AFFICHE LE CONTENU DE LA DIV GRACE A UNE ANCRE
    				jQuery(this).blur("#onglet1 #pagination2 a").addClass("activepage");		
    				return false;
    				});
    			});
    		</script>
     
    		<div id="lesnews" style="float: left;">
    		<!-- Debut Affichage par page -->					
    			<div class="page_news1" id="page1">					
    				<div class="ColumnLeft">								
    					<h4 class="news_title">SYLVAIN XXXXXX - 8-août-2011 - <strong>5/5</strong></h4>
    					<p class="content_news">Bel Hotel, Bon Accueil, Bon petit déjeuner RAS</p>
    				</div>
    				<div class="clearFloat"></div>    
     
    				<div class="ColumnLeft">			
    					<h4 class="news_title">ALI EL XXXX - 1-août-2011 - <strong>5/5</strong></h4>
    					<p class="content_news">pesrsonnel charmand, très bon acceuil.chambres spacieuses et calmes...</p>
    				</div>
    				<div class="clearFloat"></div>    	 
    		</div>
    		<!-- Fin Affichage par page -->
     
    		<!-- Pagination -->
    		<div id="pagination2" class="onglet2">
    			<p>Pages :</p>
    			<ul>
    				<li><a href="#page1">1</a></li>
    				<li><a href="#page2">2</a></li>
    			</ul>
    			<div class="clear"></div>
    			</div>
    		</div>
    </div>
    Au chargement tout fonctionne bien, mais quand le clique sur mon 2ème onglet, c'est bon, mais quand on commence à cliquer sur les éléments de pagination, l'affichage devient incohérent.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Ne trouvant pas de solution à mon souci, je clôture la discussion.

  6. #6
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Je vais essayez de trouver un peux de temps pour t'aider, ne baisse pas les bras

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Merci beaucoup, c'est gentil
    Du coup je suis parti sur d'autres pistes, en installant un plugin qui me fait les onglets mais ça me génère d'autres soucis, donc je suis en standby et reste ouvert à toute proposition (non indécente bien-sûr )

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Bonjour,

    J'ai mis en place une version démo de ma page visible à l'adresse suivante :
    http://ns200161.ovh.net/site_cdm/fr/avis-8.html

    J'espère que ça permettra d'y voir plus clair.

  9. #9
    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 : 54
    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
    jQuery("#onglet1 #pagination1 a:eq(0)")
    cette notation n'est pas très cohérente dans la mesure où un id doit être unique dans une page.
    Je pense que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery("#pagination1 a:eq(0)")
    serait plus adapté.

  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Merci pour la réponse, mais j'avais déjà enlevé ce code là, la dernière version du code est disponible à l'adresse que j'ai donné plus haut et que je redonne à nouveau : http://ns200161.ovh.net/site_cdm/fr/avis-8.html
    Encore merci d'avance pour votre aide

  11. #11
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut Finalement je vais utiliser un autre procédé
    Impossible de trouver la solution, du coup j'utilise un autre procédé, jquery ui tabs et jquery scroll

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/08/2011, 15h33
  2. [DOM] Accéder à des éléments du formulaire
    Par riete dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 17/03/2009, 18h47
  3. [DOM] accéder à un élément d'une iframe avec le dom
    Par Henry9 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/08/2007, 19h44
  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, 13h47
  5. [dom je pense]accéder à des éléments d un tableau sans id
    Par luta dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/02/2006, 16h31

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