Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

ParentNode.childElementCount

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

A propriedade ParentNode.childElementCount, do tipo "somente leitura" (read-only), tem como retorno um unsigned long que representa q quantidade de elementos filhos de um outro determinado elemento.

Nota: Essa propriedade foi inicialmente definida na interface pura ElementTraversal. Como essa interface continha dois conjuntos distintos de propriedades, sendo uma destinada para Node que tem filhos, e outra destinada para aqueles que são filhos de fato, essas propriedades foram movidas para duas interfaces puras distintas: ParentNode e ChildNode. Nesse caso, childElementCount foi movido para ParentNode. Essa é uma alteração bastante técnica que não deve afetar a compatibilidade.

Sintaxe

var count = node.childElementCount;
count

variável que recebe o valor retornado pelo método, sendo esse valor do tipo unsigned long (simplesmente um número inteiro).

node

Objeto que representa Document, DocumentFragment, ou Element.

Exemplo

js
var foo = document.getElementById("foo");
if (foo.childElementCount > 0) {
  // Faz algo
}

Utilizando Polyfill no IE8, IE9 e Safari

Essa propriedade não é suportada em versões anteriores ao IE9. Já no IE9 ou Safari, não será suportada somente por Objetos de Document e DocumentFragment.

js
(function (constructor) {
  if (
    constructor &&
    constructor.prototype &&
    constructor.prototype.childElementCount == null
  ) {
    Object.defineProperty(constructor.prototype, "childElementCount", {
      get: function () {
        var i = 0,
          count = 0,
          node,
          nodes = this.childNodes;
        while ((node = nodes[i++])) {
          if (node.nodeType === 1) count++;
        }
        return count;
      },
    });
  }
})(window.Node || window.Element);

Especificações

Specification
DOM
# dom-parentnode-childelementcount

Compatibilidade com navegadores

Veja também