55

我正在尝试使用纯 javascript 在数组中获取 HTML 页面的 Body 标记内的所有元素(标记)。我的意思是不使用任何框架(例如 JQuery)。

我发现您可以使用document.all,但这将返回整个文档中的所有元素,包括脚本。

反正我可以得到这些标签吗?

4

2 回答 2

98

如果您想要 body 标签内的所有元素,而不仅仅是一级子元素,您可以简单地使用getElementsByTagName()通配符:

var elems = document.body.getElementsByTagName("*");
于 2012-10-10T16:06:15.130 回答
38

你可以使用document.querySelectorAll()它。

如果你真的想要所有(包括嵌套标签),使用这个

 var elements = document.querySelectorAll( 'body *' );

如果您只想要直接子节点,请使用

 var elements = document.querySelectorAll( 'body > *' );
于 2012-10-10T15:43:17.397 回答