<ul id="contain"> <li><a href="http:/m.sbmmt.com">Microsotf</a></li> <li><a href="http:/m.sbmmt.com">Yahoo</a></li> <li><a href="http:/m.sbmmt.com">Easy</a></li> <li><a href="m.sbmmt.com">W3c/Javascript</a></li> <li><a href="m.sbmmt.com">Design|Source</a></li> </ul> var container=document.getElementById("contain");
1. Utilisez firstChild pour être le premier nœud enfant sous l'élément ul (y compris les nœuds de texte et les nœuds d'éléments HTML). Ainsi, selon la norme, dans votre exemple dans Firefox et Opera, Container.firstChild devrait obtenir le nœud de texte d'espacement. IE ne l'implémente pas si le nœud de texte ne contient que des caractères d'espacement, IE l'ignorera directement. Donc, ce que vous obtenez via containers.firstChild dans IE est le nœud de l'élément li.
2. firstChild est le premier nœud enfant parmi tous les nœuds enfants (childNodes) de l'élément si le premier nœud enfant de l'élément ne change pas, la référence à firstChild ne changera pas non plus. Le premier Enfant obtenu deux fois de suite est le même objet.
Supplément : Vous devez comprendre la relation entre les références et les objets. firstChild est une référence au premier nœud enfant de l'élément. Dans la fonction xx que vous avez donnée, ajoutez l'objet pointé par firstChild à la fin de l'objet parent. L'objet initialement référencé par firstChild saute à la fin de l'objet conteneur, et firstChild pointe vers l'objet élément qui était initialement classé deuxième. Si le cycle continue ainsi, les liens reculeront un par un.
<body> <ul id="action"> <li title="第一段文字">第一个</li> <li title="第二段文字">第二个</li> </ul> <script type="text/javascript"> var attr_p = document.getElementById("action"); alert(attr_p.childNodes[1].childNodes[0].nodeValue); </script> </body>
Si vous souhaitez obtenir le nœud de texte dans le premier li de ul avec l'identifiant de l'action (comme obtenir : le premier), vous pouvez utiliser...childNodes[1].childNodes [0].nodeValue this Recherchez cette méthode en utilisant...childNodes[1].firstChild.nodeValue Vous pouvez également trouver le nœud de texte du premier li. Conclusion childNodes[0] est équivalent à firstChild, peu importe quand et où. , il est important d'accéder au premier tableau childNodes[] Pour un élément, nous pouvons l'écrire comme firstChild, et DOM fournit également un attribut lastChild correspondant. Il convient de noter que pour le problème du nœud spatial de ff, vous pouvez utiliser l'attribut nodeType pour juger du type de nœud jusqu'à ce que le nœud d'élément soit trouvé.