TUTOS.EU

Attendre un événement sur toutes les balises dont le nom contient en jQuery

Vous avez des balises p ou autre qui ont des id qui se ressemblent. Seul un numéro par exemple les différencie. Exemple :

<p id="baliseP1">Ma première balise</p>
<p id="baliseP2">Ma seconde balise</p>
Lien vers le fichier : cliquez ici Copier le code

Vous voulez déclencher un événement quand on clic dessus (par exemple) mais vous ne voulez pas créer un déclencher pour chaque balise. L'idée est donc d'avoir un sélecteur en jquery qui utilise un filtre du type 'toutes les balises p dont le nom contient'

La technique officielle est donnée ici :
https://api.jquery.com/attribute-contains-selector/

$( "p[id*='baliseP']" ).click(function() {
Lien vers le fichier : cliquez ici Copier le code

Cette page permet de tester cela. Si vous cliquez sur une zone de texte, son contenu va apparaître dans une fenêtre.

<!DOCTYPE html>
<HTML lang="fr">
	<HEAD>
		<meta charset="utf-8" />

		<link href="style.css" rel="stylesheet" />
	
		<script src="https://code.jquery.com/jquery.js" type="text/javascript"></script>

	</HEAD>
	<BODY>

		<p id="baliseP1">Ma première balise</p>
		<p id="baliseP2">Ma seconde balise</p>
		
		<SCRIPT TYPE="text/javascript">

			$(function() {
			
				$( "p[id*='baliseP']" ).click(function() {
					console.log( $(this).attr('id') );
					alert($(this).text());
				} );				

			});	

		</script>		
		
	</BODY>
</HTML>
Lien vers le fichier : cliquez ici Copier le code

2