Javascript Replace Child/Loop issue

Posted by Charles John Thompson III on Stack Overflow See other posts from Stack Overflow or by Charles John Thompson III
Published on 2012-11-04T16:37:18Z Indexed on 2012/11/04 17:00 UTC
Read the original article Hit count: 189

Filed under:
|
|

I have this really bizarre issue where I have a forloop that is supposed to replace all divs with the class of "original" to text inputs with a class of "new". When I run the loop, it only replaces every-other div with an input, but if I run the loop to just replace the class of the div and not change the tag to input, it does every single div, and doesn't only do every-other.

Here is my loop code, and a link to the live version: live version here

function divChange()    {
    var divs = document.getElementsByTagName("div");
    for (var i=0; i<divs.length; i++) {
        if (divs[i].className == 'original') {
            var textInput = document.createElement('input');
            textInput.className = 'new';
            textInput.type = 'text';
            textInput.value = divs[i].innerHTML;
            var parent = divs[i].parentNode;
            parent.replaceChild(textInput, divs[i]);
        }
    }
}

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about for-loop