11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
J'aimerais appliquer une fonction JavaScript à toutes les <div> de ma page.

Par exemple, j’aimerais que :
<div>Bonjour tout le monde.</div>
<div>Zorro a un cheval.</div>
devienne automatiquement :
<div><b>Bonjour</b> tout le monde.</div>
<div><b>Zorro</b> a un cheval.</div>
J’ai écrit une fonction JavaScript :
<script language=javascript>
	function gras(texte) {
		document.write('<div><b>' + texte.replace(/ /, '</b> ') + '</div>')
	}
	gras('Bonjour tout le monde')
	gras('Zorro a un cheval')
</script>
mais je n’aime pas devoir écrire mon texte dans <script...>, je préférerai ne mettre que ma fonction JavaScript dans <script...> et laisser mon texte en HTML classique :
<div>Bonjour tout le monde.</div>
<div>Zorro a un cheval.</div>


Quelqu’un saurait-il comment faire ?
Bonjour,

Un petit coup de jQuery devrait t'aider.
Utiliser un accesseur de type :
$("div").each(function(){
	$(this).html( $(this).text().replace(/(^\w+)/,'<b>$1</b>') );
		});


@+

Sam
Modifié par kodakgold (08 Aug 2012 - 11:20)
Merci pour la réponse.

jQuery c'est tout un monde que je ne connais pas. Je vais étudier ça. Merci.
Je viens d’étudier jQuery et ton code. Au début ça ne fonctionnait pas, jusqu’à ce que je rajoute :
window.onload = function(){ ... }
autour de ton code, ce qui donne :
<!doctype html>
<html>
	<head>
		<meta charset=utf-8>
	</head>
	<body>
		<script src=jquery.js></script>
		<script>
			window.onload = function(){
				$("div").each(function(){
					$(this).html( $(this).text().replace(/(^\w+)/,'<b>$1</b>') );
						});}
		</script>
		<div>Bonjour tout le monde.</div>
		<div>Zorro a un cheval.</div>
	</body>
</html>
pour le code au complet, ce qui donne :

Bonjour tout le monde.
Zorro a un cheval.

Sujet résolu. Merci.