使用 javascript 和循环获取所有正文元素

Get all body elements with javascript and loop

本文关键字:正文 元素 获取 javascript 循环 使用      更新时间:2023-09-26

将主体的所有元素放在一个数组中,然后遍历每个元素的"最快"(最有效的)方法是什么?

我会建议这样做:

var items = document.body.getElementsByTagName("*");
for (var i = 0, len = items.length; i < len; i++) {
    // do something with items[i] here
}

你可以在jquery中使用星号选择器。

var allElems=$('body').find('*');

allElems 将是类似数组的对象,因此您可以在其上创建一个 for 循环,或者您可以使用 jquery 每个方法来遍历所有。

allElems.each(function(){
     var elm=this, //javascript DOM object
         $elm=$(this) //jquery object for element.
});

如果你只想用javascript,你可以使用querySelectorAll dom方法。

var allElems=document.body.querySelectorAll('*'); // new browser support

var allElems=document.body.getElementsByTagName('*'); //all browser support

比你可以使用 for 循环来遍历所有元素。

您可以使用:

var els = document.body.querySelectorAll( '*' ),
    len = els.length, i = 0;
for ( ; i < len; i++ )
    console.log( els[i] );

浏览器对查询选择器的支持:http://caniuse.com/#feat=queryselector

有趣的是,querySelectorAll返回静态节点列表,与返回实时节点列表的getElementsByTagName不同。

它会是这样的:

var allElements = $(body).find('*');
allElements.each(function(){
   //do something
})