使用 javascript 和循环获取所有正文元素
Get all body elements with javascript and loop
将主体的所有元素放在一个数组中,然后遍历每个元素的"最快"(最有效的)方法是什么?
我会建议这样做:
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
})
相关文章:
- 在正文中保留附加的相对元素
- 为什么谷歌跟踪代码管理器不能安装在正文下的另一个HTML元素中
- 仅将元素附加到页面的正文标签,而不添加到iframe facebook、google+、twister
- Chrome扩展-在正文之前附加链接元素
- 覆盖元素总是需要位于HTML正文的末尾吗
- 如何更改网站正文元素的背景以与幻灯片放映相对应
- 页面加载后向<正文>添加元素时出现问题
- 如何在正文元素之前添加脚本
- HTML CSS仅在正文到达特定点时才修复元素
- 使用 javascript 和循环获取所有正文元素
- 将类添加到动态元素上的正文,在页面上的任意位置再次单击后删除
- 如何使用jQuery单击时更改正文元素的背景图像
- 可以解包() 方法删除正文元素
- 背景大小设置为包含的正文标签上的位置和缩放元素
- DOM 节点插入到正文元素上
- 使用边距获取正文元素的左偏移量和顶部偏移量:自动
- 循环遍历 DOM 时,如何检查我是否到达了正文元素
- HTML:非正文元素的加载
- 使用 jQuery 按列值对正文元素进行排序
- 在 xhtml 中为正文元素设置背景图像(适用于不同的显示器和分辨率)