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 :
(Ok entre les noeuds H1 et UL il y a un #text)header.nextSibling.nodeType == Node.TEXT_NODE // Surprise !
(Ok, logique aprés le point 1)header.nextSibling.nextSibling == people
(Ok)nioute.lastChild == nioute.firstChild
(Pas Ok, il y a pas de #text entre les 2 li (point 1 et 2)?)elodie.nextSibling == mimi
(Pas Ok, ben voir point 2)people.previousSibling == header
(Ok)header.childNodes.length == 1
(Ok)header.firstChild.nodeType == Node.TEXT_NODE
(Pas Ok)// Ci-dessous : 6 noeuds texte entrelacés à 5 éléments
people.childNodes.length == 11
(Pas sure, il y a un #text entre UL et li mais pas entre LI et UL?)people.firstChild.nodeType == ’#text’// Surprise !
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>
(Ok)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, mais pas cohérent par rapport aux points 5)// Ci-dessous, valide en mode HTML. En mode XML, serait ’h1’
nioute.parentNode.previousSibling.nodeName == ’H1’
Merci par avance pour votre aide.
Partager