11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à toutes et à tous !

J'ai un problème sur un code JS qui me semblait pourtant très simple à appréhender.
Pourriez-vous m'aider à comprendre s'il vous plait ?

Voila: soit une page HTML avec par exemple 4 paragraphes:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<title></title>
	</head>
	<body>
	
		<p></p>
		<p></p>
		<p></p>
		<p></p>

	</body>
</html>


Je ne comprends pas pourquoi le code suivant me renvoit '0' :


<script type="text/javascript">
alert(document.getElementsByTagName('p').length);
</script>


Merci pour votre aide.
Modifié par zefri (12 Apr 2007 - 13:47)
Bonjour,
On ne sait pas ce qu'est censé faire ton JS
Ca va être dûr de te répondre

Précise un peu ton objectif et peut être essaies avec une page qui n'est pas vide.

Bon courage
Hello Gaelgerard,

Et bien en fait je suis tout simplement en train d'apprendre à manipuler DOM avec Javascript.
Donc j'essaie de comprendre en faisant des tests tous bêtes. Mon objectif est donc purement pédagogique.

Là, en locurence, je voulais voir comment se comportait la méthode getElementsByTagName.
Je sais qu'on peut se positionner plus simplement avec la méthode getElementById mais là je voulais essayer de le faire avec getElementsByTagName.

Sinon je viens tester avec une page non vide comme tu me l'as suggéré et c'est toujours pareil : 0.
Ce que je ne comprends pas c'est que lorsque j'utilise une fonction de débuggage JS je vois cette structure qui m'indique bien que length vaut 4:

    * [0] => [object HTMLParagraphElement]
    * [1] => [object HTMLParagraphElement]
    * [2] => [object HTMLParagraphElement]
    * [3] => [object HTMLParagraphElement]
    * [length] => 4
    * [item] => function item() { [native code] }
    * [namedItem] => function namedItem() { [native code] }


( Tout cela est parti de mon objectif de ce matin qui était de manipuler des <table> via DOM et Javascript. )

Voila tu sais tout. Merci pour ton intervention en tout cas.
Smiley cligne
C'est résolu ! Je suis trop bête ! J'appelais la méthode avant le chargement complet de la page... Smiley biggol