Search code examples
javascriptconcatenationgetelementsbytagname

Using pure javascript (no JQuery/3rd-party libraries), how to concatenate collections from document.getElementsByTagName to iterate in single loop


What I'm trying to do is something like this:

var textareas = document.getElementsByTagName("textarea");
var inputs = document.getElementsByTagName("input");
var selects = document.getElementsByTagName("select");

var concatenated = textareas.concat(inputs).concat(selects);

for(var i = 0; i < concatenated.length; i++) {
   //Do something on each concatenated[i] item
}

Solution

  • How about using 1 queryselector

    <textarea value= "The DOM is very useful." />
    <input class="intro" value='This example demonstrates the method' />
    
    <script>
    var z = document.querySelectorAll("input, textarea");
    
    //now z has input and textarea
    
    for(i=0;i<z.length;i++)
    { 
    
        alert( z[i]);
    }
    </script>