begin process at 2012 02 11 04:37:25
  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 :7 644

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

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,452 sec (4)

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