whole_func_string: function(element, attribute){
  			var resultingElements = [];
  			var childNodes = element.children();
  			if(childNodes.length){
  				angular.forEach(childNodes, function(child){
  					resultingElements = resultingElements.concat(taDOM.getByAttribute(angular.element(child), attribute));
  				});
  			}
  			if(element.attr(attribute) !== undefined) resultingElements.push(element);
  			return resultingElements;
  		}
func_code_string: function(element, attribute){
  			var resultingElements = [];
  			var childNodes = element.children();
  			if(childNodes.length){
  				angular.forEach(childNodes, function(child){
  					resultingElements = resultingElements.concat(taDOM.getByAttribute(angular.element(child), attribute));
  				});
  			}
  			if(element.attr(attribute) !== undefined) resultingElements.push(element);
  			return resultingElements;
  		}
func_documentation_string: recursive function that returns an array of angular.elements that have the passed attribute set on them