JavaScript/DOM/Node/hasChildNodes

Aus SELFHTML-Wiki
< JavaScript‎ | DOM‎ | Node
Wechseln zu: Navigation, Suche

Die Methode Node.hasChildNodes() ermittelt, ob ein Knoten Kindknoten unter sich hat.


Syntax

var bool = Node.has ChildNodes();

  • bool: gibt den booleschen Wert true zurück, wenn ja, und false, wenn nein.

Anwendungsbeispiel

Beispiel ansehen …
  function testen() {
    var elem = document.getElementsByTagName('li'),
	text = '';

    for (var i = 0; i < elem.length; i++) {
      if (elem[i].hasChildNodes()) {
        text = text + (i + 1) + '. li-Element hat einen Inhalt!<br>';
      }
    }

    document.getElementById('ausgabe').innerHTML = text;
 }
Das Beispiel enthält eine Liste ul mit vier Listenlementen li. Zwei davon haben einen Zeicheninhalt, zwei andere sind leer.

Die Funktion testen ermittelt mit document.getElementsByTagName('li') alle Listenelemente und greift in einer for-Schleife der Reihe nach auf sie zu und fragt mit if (elem.hasChildNodes()) ab, ob das jeweils aktuell in der Schleife behandelte li-Element Kindknoten hat.
Wenn ja, wird die Variable text um eine Berschreibung erweitert, beim wievielten Element ein Kindknoten gefunden wurde. Dies wird anschließend ausgegeben.

Im Beispiel ist das beim zweiten und vierten Element der Fall, da diese beiden Elemente Textknoten enthalten.

Weblinks