I've been using jQuery to do this:
$element.find(*).each(function() {
var $this = $(this);
$this.removeAttr(style width align);
if ($this.is(embed)) {
$element.append(<div class='video'></div>);
$this.attr(width, 640).attr(height, 360).parent().appendTo(# + element + .video);
};
});
But I've been reading that jQuery's .each()
method is quite slow when compared to a simple for loop (jsPerf). My question is how can I mimic this with pure JS? Find all elements within a div
, then loop through the nodes.
I've tried to search for this but all I can seem to find are jQuery answers - everywhere.
I've tried other things but this was as close as I got to selecting all descendants:
var children = document.getElementById('id').getElementsByTagName('*');
for( var i = 0; i<children.lengtth; i++){
children[i].removeAttribute(style);
console.log(children[i]);
}