While (a) iterating on a group of elements from document.getElementsByClassName and (b) setting outerHTML for each element, latter elements become inaccessible in an ascending for-loop.
This is only triggered for outerHTML, not for innerHTML.
Iterate in descending order or use innerHTML instead.
while-descending or for-ascending