begin process at 2010 03 21 21:44:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > SÉLECTIONNER DES ÉLÉMENTS EN FONCTION DE LEUR CLASSE ET TAGS HTML

SÉLECTIONNER DES ÉLÉMENTS EN FONCTION DE LEUR CLASSE ET TAGS HTML


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :getelementbyclassname, ciblageparclasse, ciblerclass, inarray, affichermasquer Niveau :Débutant Date de création :15/06/2006 Date de mise à jour :16/06/2006 09:13:23 Vu :5 839

Auteur : f6xara

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


 Description

Voici une fonction javascript permettant d'afficher ou de masquer des éléments HTML d'une page en fonction de sa balise et de sa classe.

On utilisera le ciblage en fonction du Tag de la balise pour minimiser l'éxécution du script.

Source

  • <script>
  • /* fonction inArray, renvoie true si la valeur recherchée est dans le tableau*/
  • Array.prototype.inArray = function(array) {
  • for(var i=0; i<this.length;i++) {
  • if(this[i]==array){ return true;}
  • }
  • return false;
  • };
  • /* Fonction affichant et masquant un élément */
  • function ShowHide(element){
  • if(element.style.display=='none'){
  • element.style.display='';
  • }else{
  • element.style.display='none';
  • }
  • }
  • /* fonction récupérant tous les éléments à afficher ou masquer
  • Pour sélectionner tous les éléments html, passer '*' en paramètres
  • Vous pouvez sélectionner que les balises utiles pour minimiser l'exécution du script
  • */
  • function ShowHideClass(className, Tag){
  • var elts = document.getElementsByTagName(Tag);
  • for (var j=0;j<elts.length;j++) {
  • if (elts[j].getAttribute('class') && elts[j].getAttribute('class').split(' ').inArray(className)) {
  • ShowHide(elts[j]);
  • }
  • }
  • }
  • </script>
  • Voici comment afficher ou masquer plusieurs éléments d'une page en fonction de leur balise et de leur classe.<br /><br />
  • <div class="showonclick">Un autre texte...</div>
  • <div class="showonclick">Un autre texte...</div>
  • <div class="showonclick">Un autre texte...</div>
  • <div class="showonclick">Un autre texte...</div>
  • <a href="javascript:;" onclick="ShowHideClass('showonclick', 'div');">Démo</a>
  • Mais on peut également afficher les éléments de formulaire
  • Comme les champs textes
  • <input type="checkbox" onClick="ShowHideClass('showonclick', 'input');" /> Démo <input class="showonclick" type="text" style="display:none; " />
  • ou tout autre type de champs
  • <input type="checkbox" onClick="ShowHideClass('showonclick2', '*');" /> Démo
  • <input class="showonclick2" type="radio" style="display:none; " />
  • <input class="showonclick2" type="checkbox" style="display:none; " />
  • <span class="showonclick2" style="display:none; ">Etc...</span>
  • Vous remarquerez que j'affiche en fonction de la classe sans distinction de la balise en utilisant '*',
  • mais qu'il aurait été préférable d'englober simplement tous les éléments dans <span class="showonclick2">Formulaire, texte etc...</span>
<script>
/* fonction inArray, renvoie true si la valeur recherchée est dans le tableau*/
Array.prototype.inArray = function(array) {
	for(var i=0; i<this.length;i++) {
		if(this[i]==array){ return true;}
	}
	return false;
};
/* Fonction affichant et masquant un élément */
function ShowHide(element){
	if(element.style.display=='none'){
		element.style.display='';
	}else{
		element.style.display='none';
	}
}
/* fonction récupérant tous les éléments à afficher ou masquer 
Pour sélectionner tous les éléments html, passer '*' en paramètres
Vous pouvez sélectionner que les balises utiles pour minimiser l'exécution du script
*/
function ShowHideClass(className, Tag){
	var elts = document.getElementsByTagName(Tag);
	for (var j=0;j<elts.length;j++) {
		if (elts[j].getAttribute('class') && elts[j].getAttribute('class').split(' ').inArray(className)) {
			ShowHide(elts[j]);
		}
	}
}
</script>
Voici comment afficher ou masquer plusieurs éléments d'une page en fonction de leur balise et de leur classe.<br /><br />

<div class="showonclick">Un autre texte...</div>
<div class="showonclick">Un autre texte...</div>
<div class="showonclick">Un autre texte...</div>
<div class="showonclick">Un autre texte...</div>


<a href="javascript:;" onclick="ShowHideClass('showonclick', 'div');">Démo</a>


Mais on peut également afficher les éléments de formulaire

Comme les champs textes
<input type="checkbox" onClick="ShowHideClass('showonclick', 'input');" /> Démo <input class="showonclick" type="text" style="display:none; " />

ou tout autre type de champs
<input type="checkbox" onClick="ShowHideClass('showonclick2', '*');" /> Démo 
<input class="showonclick2" type="radio" style="display:none; " /> 
<input class="showonclick2" type="checkbox" style="display:none; " /> 
<span class="showonclick2" style="display:none; ">Etc...</span>

Vous remarquerez que j'affiche en fonction de la classe sans distinction de la balise en utilisant '*', 
mais qu'il aurait été préférable d'englober simplement tous les éléments dans <span class="showonclick2">Formulaire, texte etc...</span>

 Conclusion

Cette source surtout à montrer comment cibler des éléments HTML en fonction de leur classe et balise html plus que pour montrer comment afficher ou masque un élément.


 Historique

16 juin 2006 09:13:23 :
Ajout d'un exemple

 Sources de la même categorie

Source avec Zip Source avec une capture SÉQUENCEUR par jdmcreator
Source avec Zip COMPRESSION DE TEXTE CÔTÉ CLIENT EN JS VIA ALGORYTHME LZW par niamor36
Source avec Zip VIRTUAL IPHONE (V.2) par loicseg
Source avec Zip MOOTABLEAU par Miky76
Source avec Zip CALCULER VOTRE IMC par lesnouesremy

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème avec Array.prototype [ par Evangun ] Bonjour à tous,La syntaxe Array.prototype me pose un problème !En l'occurence c'est avec le JSONstringifier (http://json.org/js.html) qui comporte cet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales