I needed to write a function today in javascript that would return all elements based on a given attribute. 

e.g retrieve all elements that have an id attribute in them. 

The function I wrote for this is as follows:

        function getElements(attrib) {
        // get all dom elements
        var elements = document.getElementsByTagName("*");
        // initialize array to put matching elements into
        var foundelements = [];
    
        // loop through all elements in document
        for (var i = 0; i < elements.length; i++) {
            // check to see if element has any attributes
            if (elements[i].attributes.length > 0) {
                // loop through element's attributes  and add it to array if it matches attribute from argument
                for (var x = 0; x < elements[i].attributes.length; x++) {
                    if (elements[i].attributes[x].name === attrib) {
                        foundelements.push(elements[i]);
                    }
                }
            }
        }
        return foundelements;
    }

Looking at this, I am sure it could be written a great deal better. Any feedback would be much appreciated!