Heim > Artikel > Web-Frontend > Erstkind in Javascript
<ul id="contain"> <li><a href="http:/www.php.cn">Microsotf</a></li> <li><a href="http:/www.php.cn">Yahoo</a></li> <li><a href="http:/www.php.cn">Easy</a></li> <li><a href="www.php.cn">W3c/Javascript</a></li> <li><a href="www.php.cn">Design|Source</a></li> </ul> var container=document.getElementById("contain");
1. Verwenden Sie firstChild als ersten untergeordneten Knoten unter dem ul-Element (einschließlich Textknoten und HTML-Elementknoten). Gemäß dem Standard sollte Container.firstChild in Ihrem Beispiel in Firefox und Opera den Leerzeichen-Textknoten erhalten. IE implementiert dies nicht. Wenn der Textknoten nur Leerzeichen enthält, überspringt IE diese direkt. Was Sie also über „container.firstChild“ im IE erhalten, ist der li-Elementknoten.
2. firstChild ist der erste untergeordnete Knoten unter allen untergeordneten Knoten (childNodes) des Elements. Wenn sich der erste untergeordnete Knoten des Elements nicht ändert, ändert sich auch der Verweis auf firstChild. Das zweimal hintereinander erhaltene erste Kind ist dasselbe Objekt.
Ergänzung: Sie müssen die Beziehung zwischen Referenzen und Objekten verstehen. firstChild ist eine Referenz auf den ersten untergeordneten Knoten des Elements. Hängen Sie in der von Ihnen angegebenen xx-Funktion das Objekt, auf das firstChild zeigt, an das Ende des übergeordneten Objekts an. Das ursprünglich von firstChild referenzierte Objekt springt an das Ende des Containerobjekts und firstChild zeigt auf das Elementobjekt, das ursprünglich an zweiter Stelle stand. Wenn der Zyklus so weitergeht, springen die Links nacheinander zurück.
<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>
Wenn Sie den Textknoten im ersten Li von ul mit der Aktions-ID erhalten möchten (z. B. den ersten erhalten), können Sie ...childNodes[1].childNodes verwenden [0].nodeValue this Finden Sie diese Methode, indem Sie ...childNodes[1].firstChild.nodeValue verwenden. Sie können auch feststellen, dass der Textknoten des ersten Kindes mit firstChild übereinstimmt , ist es wichtig, auf das erste childNodes[]-Array zuzugreifen. Für ein Element können wir es als firstChild schreiben, und DOM stellt auch ein entsprechendes lastChild-Attribut bereit. Es ist zu beachten, dass Sie für das Raumknotenproblem von ff das Attribut nodeType verwenden können, um den Knotentyp zu beurteilen, bis der Elementknoten gefunden wird.