Test name | Executions per second |
---|---|
childNodes foreach | 1870294.8 Ops/sec |
children (direct) | 2611374.2 Ops/sec |
firstChild nextSibling | 9245765.0 Ops/sec |
firstElementChild nextElementChild | 15010623.0 Ops/sec |
ChildNodes for (into variable) | 4653323.5 Ops/sec |
children-- (direct) | 4592751.5 Ops/sec |
ChildNodes for-- (into variable) | 2399889.0 Ops/sec |
ChildNodes for-- (direct) | 5971474.5 Ops/sec |
lastElementChild previousElementChild | 14791941.0 Ops/sec |
children-- (into variable) | 9820943.0 Ops/sec |
<html>
<body>
<div id='test'>
<div name='a'></div>
<div name='b'></div>
<div name='c'></div>
</div>
</body>
</html>
var parent = document.getElementById('test');
parent.childNodes.forEach(function (node) {
let n = node;
});
for (let i = 0; i < parent.children.length; i++) {
let n = parent.children[i];
}
let elem = parent.firstChild;
do {
let n = elem;
} while (elem = elem.nextSibling)
let elem = parent.firstElementChild;
do {
let n = elem;
} while (elem = elem.nextElementSibling)
let children = parent.childNodes;
for (let i = 0; i < children.length; i++) {
let n = children[i];
}
for (let i = parent.children.length-1; i >= 0; i--) {
let n = parent.children[i];
}
for (let i = parent.childNodes.length-1; i >= 0; i--) {
let n = parent.childNodes[i];
}
let children = parent.childNodes;
for (let i = children.length-1; i >= 0; i--) {
let n = children[i];
}
let elem = parent.lastElementChild;
do {
let n = elem;
} while (elem = elem.previousElementSibling)
let children = parent.children
for (let i = children.length-1; i >= 0; i--) {
let n = children[i];
}