your_element write mdn from data attribute javascript firefox dom bookmarklet userscripts

javascript - write - js get attribute from element



Firefox o JavaScript, cuente el DOM (3)

// Podría usar el mismo método para obtener el recuento de cada etiqueta, si es importante

function tagcensus(pa){ pa= pa || document; var O= {}, A= [], tag, D= pa.getElementsByTagName(''*''); D= A.slice.apply(D, [0, D.length]); while(D.length){ tag= D.shift().tagName.toLowerCase(); if(!O[tag]) O[tag]= 0; O[tag]+= 1; } for(var p in O){ A[A.length]= p+'': ''+O[p]; } A.sort(function(a, b){ a= a.split('':'')[1]*1; b= b.split('':'')[1]*1; return b-a; }); return A.join('', ''); }

alerta (tagcensus ())

Estoy seguro de que esto es simple, pero no tengo idea de cómo hacerlo. ¿Cómo cuento la cantidad de elementos DOM en mi página HTML? Quería hacer esto en un UserScript o bookmarklet pero no tengo idea de cómo empezar.


En JavaScript puedes hacer

document.getElementsByTagName("*").length

En jQuery puedes hacer

jQuery(''*'').length


Use esto para los nodos Element :

document.getElementsByTagName("*").length

Para cualquier nodo, puede extender el Node esta manera:

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; };

Entonces todo lo que necesita hacer es llamar a document.countChildNodes .