循环遍历一个 div 元素的所有后代元素 - 仅限 JavaScript

5 浏览
0 Comments

循环遍历一个 div 元素的所有后代元素 - 仅限 JavaScript

我一直在使用jQuery来完成这个任务:

$element.find("*").each(function() {
    var $this = $(this);
    $this.removeAttr("style width align");
    if ($this.is("embed")) {
        $element.append("");
        $this.attr("width", 640).attr("height", 360).parent().appendTo("#" + element + " .video");
    };
});

但我读到jQuery的.each()方法在与简单的for循环相比时速度较慢(jsPerf)。我的问题是如何使用纯JS来模仿这个功能?找到一个div内的所有元素,然后遍历这些节点。

我尝试搜索,但好像只能找到jQuery的答案 - 到处都是。

我尝试了其他方法,但这是我能找到的最接近选择所有后代的方法:

var children = document.getElementById('id').getElementsByTagName('*');
for( var i = 0; i

0