Heim >Web-Frontend >js-Tutorial >Unterschiede zwischen ChildNodes und Children, wenn JavaScript DOM-Elemente ausführt. Javascript-Fähigkeiten

Unterschiede zwischen ChildNodes und Children, wenn JavaScript DOM-Elemente ausführt. Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:06:381258Durchsuche

Bei DOM-Elementen bezieht sich „Children“ auf Unterobjekte des DOM-Objekttyps, mit Ausnahme der TextNode-Objekte, die zwischen Tags unsichtbar sind, und „ChildNodes“ schließt die TextNode-Objekte ein, die zwischen Tags unsichtbar sind.

Sehen Sie sich speziell die Tests für Kinder und ChildNodes in der Chrome-Umgebung an:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 <div id="div1" class="div">
 <span id="s1" class="sp" lang="zh-cn">
 </span>
 </div>
</body>
<script type="text/javascript">
 
 function test() {
 var o = document.getElementById("div1");
 var child = o.children;
 console.log("div1.children运行结果:");
 for(i = 0; i < child.length; i++){
   console.log(child[i].tagName);
  }
 
 console.log("");
 child = o.childNodes;
 console.log("div1.childNodes运行结果:");
 for(i = 0; i < child.length; i++){
   console.log(child[i].tagName);
  }
 
 }
 
 test();

</script>
</html>


Die Testergebnisse lauten wie folgt:

 div1.children运行结果:
 SPAN

 div1.childNodes运行结果:
 undefined
 SPAN
 undefined

Das Ergebnis der obigen childNodes-Sammlung enthält zwei undefinierte Knoten, und diese beiden sind TextNode mit nodeType=3.

Wenn der HTML-Code im folgenden Stil geschrieben ist, gibt es keinen Unterschied in den Ergebnissen von Kindern und Kinderknoten.

<body>
 <div id="div1" class="div"><span id="s1" class="sp" lang="zh-cn"></span></div>
</body>

Bei der tatsächlichen Messung von HTML-Elementen wie Dokument, Kopf, Körper und Div wurden keine weiteren Unterschiede festgestellt

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn