Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 11h31   #1
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
Par défaut getElementsByName IE & FF

Bonjour,

J'ai une différence entre IE7-IE8 et FF sur l'instruction getElementsByName

Sous FF, la taille du tableau retourné est correcte (2) alors que sous IE j'ai systématiquement 0.

Le code est JS est le suivant :
Code :
1
2
3
4
5
 
<script type="text/javascript"> 
var nb = document.getElementsByName("cpc");
alert(nb.length); 
</script>
J'avoue que je ne comprend pas pourquoi, IE me renvoi 0 alors que j'attend 2 ?




l'ensemble de la page :
Code :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>...</title>
<style type="text/css">
.boite {
	position:relative;
	width:100%;
	overflow:hidden;
	background-color:#ff0000;
}
 
.t{	text-align:center;
	font-size:20px;
	font-weight:bold;
	background-color:#ffff00;
	cursor:pointer;
}
 
 
.m{	position:absolute;
	padding:10px;
 
}	
</style>
<script type="text/javascript"> 
var nb = document.getElementsByName("cpc");
alert(nb.length); 
</script> 
</head>
<body>
<div id="cadre">
 
	<div id="boite0" name="cpc" class="boite">
		<div id="t0" class="t">CPC0</div>
		<div id="m0" class="m">
			<div>XC036</div>
		   <div>XC036</div>
		   <div>XC036</div>
		   <div>XC036</div>
		</div>
	</div>
	<div id="boite1" name="cpc" class="boite">
		<div id="t1" class="t">CPC1</div>
		<div id="m1" class="m">
			<div>XC036</div>
		   <div>XC036</div>
		   <div>XC036</div>
		   <div>XC036</div>
		</div>
	</div>
</div>
</body>
</html>
Un petit coup de main serait apprécié
MERCI
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h34   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
parce que ton script est lancé trop tot, les objets ne sont pas encore instanciés
soit tu mets ton script après les objets dans le flux,
soit tu mets ton script dasn une fonction que tu lances sur le onlaod
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h59   #3
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
ceci dit, un attibut name pour un div, ça n'a pas de sens;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h49   #4
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
Merci pour vos réponse, je vais ajouter un setTimeout un onload

La raison du name sur certain DIV est afin de pouvoir sélectionner uniquement ces DIV pour faire une menu type accordion. Comme je voulais conserver les ID uniques j'ai attribué un name. Mais s'il existe une solution plus propre je suis preneur.

MERCI
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h53   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
plus propre oui
getElementsByCLassName pour les navs récents ou jquery avec ses selecteurs puissants
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 13h10   #6
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 755
Points : 4 755
d'après la doc MSDN IE ne reconnaît pas l'attribut name sur les DIV
Citation:
Attr Constructor, A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, LINK, MAP, OBJECT, RT, RUBY, SELECT, TEXTAREA, HTMLAnchorElement Constructor, HTMLButtonElement Constructor, HTMLEmbedElement Constructor, HTMLFormElement Constructor, HTMLImageElement Constructor, HTMLInputElement Constructor, HTMLMapElement Constructor, HTMLObjectElement Constructor, HTMLSelectElement Constructor, HTMLTextAreaElement Constructor
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 14h02   #7
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
getElementsByClassName, est certainement la meilleur solution sans jquery.

MERCI à tous pour vos réponses.
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 14h14   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Citation:
getElementsByClassName, est certainement la meilleur solution sans jquery.
oui mais uniquement sur les versions les plus récentes de certains navigatuers ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 03h42   #9
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Et ton fameux script Spaffy?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h07.


 
 
 
 
Partenaires

Hébergement Web