Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

Node.hasChildNodes()

Baseline
Ampliamente disponible

Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde julio de 2015.

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

Especificación
DOM
# ref-for-dom-node-haschildnodes①

Compatibilidad con navegadores

Ver también