Bonjour � tous,

je suis actuellement entrain de lire "Bien d�velopper pour le Web 2.0" est m�me si je pense avoir compris le principe du DOM, il y a des chose que je ne saisie pas.

Voil� un extrait du livre, je vous indique ce que j'ai compris et pas compris en esp�rant un petit coup de main.

Un petit bout de code simple :

Code html : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
<h1 id="header">Personnes inscrites</h1>
<ul id="people">
    <li id="al">Alexis</li>
    <li id="nioute">Anne-Julie</li>
    <li id="elodie">Élodie</li>
    <li id="mimi">Marie-Hélène</li>
    <li id="xavier">Xavier</li>
</ul>

Les questions/r�ponses correspondantes :

header.nextSibling.nodeType == Node.TEXT_NODE // Surprise !
(Ok entre les noeuds H1 et UL il y a un #text)

header.nextSibling.nextSibling == people
(Ok, logique apr�s le point 1)

nioute.lastChild == nioute.firstChild
(Ok)

elodie.nextSibling == mimi
(Pas Ok, il y a pas de #text entre les 2 li (point 1 et 2)?)

people.previousSibling == header
(Pas Ok, ben voir point 2)

header.childNodes.length == 1
(Ok)

header.firstChild.nodeType == Node.TEXT_NODE
(Ok)

// Ci-dessous : 6 noeuds texte entrelac�s � 5 �l�ments
people.childNodes.length == 11
(Pas Ok)

people.firstChild.nodeType == �#text�// Surprise !
(Pas sure, il y a un #text entre UL et li mais pas entre LI et UL?)
et si on fait �a

Code html : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
 
<ul>
    du texte
    <li>premier</li>
    <li>deuxieme</li>
    du texte
</ul>

people.firstChild.nodeValue == � �// En mode HTML en tout cas
(Ok)

elodie.firstChild.nodeName == �#text�
(Ok)

xavier.lastChild.nodeValue == �Xavier�
(Ok)

xavier.parentNode.firstChild.nextSibling == al
(Ok)

// Ci-dessous, valide en mode HTML. En mode XML, serait �h1�
nioute.parentNode.previousSibling.nodeName == �H1�
(Ok, mais pas coh�rent par rapport aux points 5)


Merci par avance pour votre aide.