Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 08h30   #1
Membre Expert
 
Inscription : décembre 2006
Messages : 2 048
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 2 048
Points : 1 087
Points : 1 087
Par défaut Existe-t-il un "POUR CHAQUE CLASSE DE NOM..." ?

Bonjour,
dans le code ci-dessous, j'utilise des classes bidons du type "no1", "no2",... pour repérer certains SPAN particuliers, puis j'affiche leurs ID.

Ma méthode présente un gros inconvénient car il faut connaître le dernier numéro utilisé dans "no...".

Peut-on éviter cela ? Je pensais à utiliser une méthode du type "POUR CHAQUE CLASSE DE NOM special RECUPERER SON id ET L'UTILISER".

Code html :
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
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
 
	<style type="text/css">
.special {
    color: green;
}
	</style>
    </head>
 
    <body>
	<section>
	    <p>
		Testons
		    <span class="special no1" id="UN TEXTE JS1">
			un mot 1
		    </span>
		et
		    <span class="special no2" id="TEXTE JS2">
			un mot 2
		    </span>
	    </p>
	</section>
    </body>
 
    <script charset="utf-8" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script>
$(document).ready(function(){
    for (i=1; i<=2; i++){
	var className = ".no" + i.toString();
	var texte = $(className).attr("id");
 
	$(className)
	    .css('color', 'red')
	    .html(texte);
    }
});
    </script>
</html>
rambc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 09h23   #2
Membre confirmé
 
Inscription : décembre 2009
Messages : 249
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 249
Points : 219
Points : 219
Si je comprends bien c'est un truc comme ca que tu veux :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<script>
$(document).ready(function(){
    $.each($(".special"),function() { // fait une boucle sur chaque element contenant la classe "special"
        var texte = $(this).attr("id"); // selectionne son id
        $(this)
	    .css('color', 'red')
	    .html(texte);              // insert le texte dans la balise
 
    });
</script>
ticroch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 09h28   #3
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
bonjour
une fonction dans ce style ? :
Code :
1
2
3
4
5
var arr = $('.special');
 
    jQuery.each(arr, function() {
      this.innerHTML = this.getAttribute('id');
   });
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 09h45   #4
Membre Expert
 
Inscription : décembre 2006
Messages : 2 048
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 2 048
Points : 1 087
Points : 1 087
Merci. C'est ce que je cherchais...
rambc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 12h24   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonjour,
Citation:
Envoyé par rambc Voir le message
Ma méthode présente un gros inconvénient car il faut connaître le dernier numéro utilisé dans "no...".
tu peux également utiliser les sélecteurs "étendus"
Code :
1
2
3
4
5
6
7
8
$(document).ready(function(){
  var tout = $('[class*=" no"]'); // contenant espace+no
  $.each( tout, function(){
    $(this)
      .css('color', 'red')
      .html( $(this).attr("id"));
    });
});
mais c'est juste pour info.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/01/2012, 20h48   #6
Membre Expert
 
Inscription : décembre 2006
Messages : 2 048
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 2 048
Points : 1 087
Points : 1 087
Merci pour l'info.
rambc est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/01/2012, 16h57   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
pourquoi passer par $.each ?

Code :
1
2
3
4
5
6
7
8
 
$(document).ready(function(){
    $('[class*=" no"]').each(function(){
    $(this)
      .css('color', 'red')
      .html( $(this).attr("id"));
    });
});
__________________
Ma page 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.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 17h49   #8
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Inscription : mars 2008
Messages : 2 290
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 290
Points : 3 208
Points : 3 208
Citation:
Envoyé par SpaceFrog Voir le message
pourquoi passer par $.each ?
C'est peut-être plus simple de passer par $.each() puisque quand tu fais $(selecteur).each(), jQuery appelle en interne jQuery.each( this, callback, args ) (Cf. le code de l'API) ...
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h19.


 
 
 
 
Partenaires

Hébergement Web