Используйте это для Element
узлов:
document.getElementsByTagName("*").length
Для любого узла вы можете расширить Node
следующим образом:
Node.prototype.countChildNodes = function() {
return this.hasChildNodes()
? Array.prototype.slice.apply(this.childNodes).map(function(el) {
return 1 + el.countChildNodes();
}).reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
})
: 0;
};
Тогда все, что вам нужно сделать, это позвонить document.countChildNodes
.