Ich bin sicher, das ist einfach, aber ich habe keine Ahnung, wie es geht. Wie zähle ich die Anzahl der DOM-Elemente in meiner HTML-Seite? Ich wollte dies in einem Userscript oder Bookmarklet tun, aber ich habe keine Ahnung, wie ich anfangen soll!Firefox Oder JavaScript, zählen Sie das DOM
Antwort
verwenden für Element
Knoten:
document.getElementsByTagName("*").length
Für jeden Knoten können Sie Node
wie folgt erweitern:
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;
};
Dann alles, was Sie tun müssen, ist document.countChildNodes
zu nennen.
Gibt es eine Möglichkeit, die Anzahl der Elemente in Iframes hinzuzufügen? – corretge
@correge Das wäre möglich, wenn Sie Zugriff auf das 'contentDocument' haben. Wiederholen Sie einfach die Elemente, die Sie mit 'document.getElementsByTagName (" * ") erhalten' 'und zählen Sie sie als 1 und für jeden' iframe' Elementknoten ('tagName === 'IFRAME'') fügen Sie die Anzahl der Elemente in seinem' contentDocument hinzu 'stattdessen. – Gumbo
Vielen Dank! Ich habe ein anderes "kleines" Problem: Domains, Protokolle und Ports müssen übereinstimmen. Normal :) – corretge
// Sie die gleiche Methode verwenden, um die Anzahl der jedes Tag zu bekommen, wenn es
zähltfunction 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(', ');
}
alert (tagcensus())
In JavaScript können Sie tun
document.getElementsByTagName("*").length
In jQuery können Sie tun
jQuery('*').length
- 1. Finden Sie Javascript, das DOM-Element ändert
- 2. Erstellen Sie Schattenwurzel/Dom in Firefox?
- 3. Walking das DOM (JavaScript)
- 4. Finden Sie, was Javascript das DOM ändert?
- 5. Zugriff auf Firefox DOM (oder HTML-Inhalt) von außerhalb firefox
- 6. Konvertieren eines DOM-Knotens oder -Dokuments in JavaScript in JavaScript
- 7. Unit Testing Javascript, das das DOM beinhaltet
- 8. Bildskalierung oder DOM-Duplizierungsalgorithmus in JavaScript?
- 9. WebDriver Javascript: Wie erhält man ein umfassendes DOM, wenn das Skript in Firefox ausgeschaltet ist?
- 10. Javascript funktioniert nicht in IE8 oder Firefox
- 11. Dateien in das DOM mit Javascript herunterladen
- 12. Wie wird das DOM im Browser (IE oder FF) erstellt oder wie Javascript Objekthierarchie
- 13. JavaScript/DOM-Ereignisnamenskonvention
- 14. Firefox: DOM Mutation Events für getrennte Knoten?
- 15. Javascript zählen sichtbare Elemente
- 16. Zählen Sie die Werte in json javascript
- 17. https JavaScript und firefox
- 18. fragt $ (this) das dom ab?
- 19. Wie schließen Sie das DOM-Eigenschaftenfenster in der Firefox Developer Edition?
- 20. Javascript DOM Codeigniter
- 21. JavaScript-Objekt an DOM binden
- 22. Ändern document.location.href verliert das DOM
- 23. Javascript Wortzählung für jedes gegebene DOM-Element
- 24. DOM Fehler mit Javascript
- 25. JavaScript DOM Hintergrund Opazität
- 26. Javascript: DOM Probleme
- 27. Javascript DOM Console Browser
- 28. Ist "dom model" ein Teil von html oder javascript?
- 29. Zugriff auf das JavaScript-Tabellen-DOM in einem Java-Servlet
- 30. Javascript Shift + Enter (Firefox)
Möchten Sie wissen, welche DOM-Knoten oder DOM-Knoten HTML-Elemente sind? Das DOM enthält Dinge wie Text, Kommentare und Attribute als Knoten. – edeverett