Strange behavior when iterating over HTMLCollection from getElementsByClassName

What’s going on is an odd side effect. When you reassign className for each element of elements, the element gets removed from the array! (Actually, as @ user2428118 points out, elements is an array-like object, not an array. See this thread for the difference.) This is because it no longer has the classOne class name. … Read more

console.log of element.children shows 0 length but has three entries when expanded later

When you log objects to the console, the object’s current state is not snapshotted and displayed (as you might expect); instead, the console gets a live reference to the object. When you expand it in the console, you see its contents as of when you expand it, not as of when you logged it. More … Read more