Javascript DOM childNodes different avec IE et FF
Bonjour,
Je réalise des petits tests avec la méthode "childNodes"
(j'essaie de me former au DOM).
J'ai ce petit bout de code ci-dessous qui ce contente de renvoyer le nombre de nœud enfant.
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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript">
function isExpand(ObjId){
var fils = document.getElementById(ObjId).childNodes;
alert(fils.length);
for(var a=0;a<fils.length;a++){
alert(fils[a]);}
}
</script>
<style>
</style>
</head>
<body>
<div id="prj" onclick="isExpand(this.id);"><img src="./imgs/minus_over3.gif" align="top"<img src="./imgs/folder.gif" align="top">project<br>
<div id="sim" style="position:relative;left:15px">
<img src="./imgs/minus_over3.gif" align="top"/><img src="./imgs/folder.gif" align="top"/>simul<br>
</div>
<div id="cpc" style="position:relative;left:30px">
<img src="./imgs/minus_over3.gif" align="top"/><img src="./imgs/CPC.gif" align="top"/>cpc<br>
</div>
<div id="lp1" style="position:relative;left:45px">
<img src="./imgs/minus_over3.gif" align="top"/><img src="./imgs/base.gif" align="top"/>lpar<br>
</div>
</div>
</body>
</html> |
Lorsque j'execute ce code sous IE7, j'obtiens la valeur : 6
sous FireFox j'obtiens la valeur : 11
D'où provient cette différence ?
En plus un truc doit m'échapper car quand j'essaie de compter les noeuds enfants, je ne trouve aucune de ces 2 valeurs mais 7.
2 noeuds images
1 text
1 br
3 div
Merci