Node.hasChildNodes()

El método Node.hasChildNodes() devuelve un valor Boolean indicando si el Node (nodo) actual tiene nodos hijos o no.

Sintaxis

resultado = node.hasChildNodes();
resultado

almacena el valor devuelto true o false.

Ejemplos

El siguiente ejemplo elimina el primer nodo dentro del elemento con id "foo" si foo tiene nodos hijos.

js
var foo = document.getElementById("foo");
if (foo.hasChildNodes()) {
  // do something with 'foo.childNodes'
}

Polyfill

js
(function (prototype) {
  prototype.hasChildNodes =
    prototype.hasChildNodes ||
    function () {
      return !!this.firstChild;
    };
})(Node.prototype);

Resumen

Hay varias maneras de determinar si el nodo tiene nodos hijos.

  • node.hasChildNodes()
  • node.firstChild != null (o sólo node.firstChild)
  • node.childNodes && node.childNodes.length (o node.childNodes.length > 0)

Especificaciones

Specification
DOM Standard
# ref-for-dom-node-haschildnodes①

Compatibilidad con navegadores

BCD tables only load in the browser

Ver también