Bonjour à tous,
J'ai plusieurs problèmes avec la méthode document.getElementsByTagName().
Toutes les balises ne sont pas detectées.
Voici mon document:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
 
<html lang="en">
<head>
<script type="text/javascript">
window.onload = initAll();
 
function initAll(){
	var allP = document.getElementsByTagName("P");
	var allImg = document.getElementsByTagName("img");
	var allTags = document.getElementsByTagName("*");
	var outMsg = "<p>: " + allP.length + " "+ "<img>: " + allImg.length + " "		+"tags: " +allTags.length;
	alert(outMsg);
}	
</script>
</head>
<body>
 
<p>hey</p>
 
<br />
 
<img src="images/Img2_thumb.jpg" width="160" height="120" hspace="10" border="3" alt="Thumbnail 2" id="Img2" />
 
<br />
 
<input type="button" onclick="javascript:initAll()" value="Compte"></input>
</body>
</html>
Lorsque que je lance la page. Les messages d'alertes indiquent trouver 0 balise <p> 0 balise <img> et 3 tags en tout. (je devine qu'il s'agit de html head et body).

En revanche, lorque j'appelle initAll() en appuyant sur le bouton, j'obtiens bien 1 <img> 1 <p> 9 tags en tout.

Je ne comprends pas pourquoi...

De plus, document.images une longueur de 1 quand je l'appelle avec window.onload... alors que document.getElementsByTagName("img") a une longueur de 0.

Merci d'avance !