Reputation: 1333
I'm trying to get all the elements (tags) inside the Body tag of an HTML page in an array using pure javascript. I mean without using any framework (ex. JQuery).
I've found that you can use document.all
but that will return all the elements inside the whole document including the scripts.
Is there anyway I can get those tags?
Upvotes: 69
Views: 158400
Reputation: 707298
If you want all elements inside the body tag, not just first level children, you can simply use getElementsByTagName()
with a wildcard:
var elems = document.body.getElementsByTagName("*");
Upvotes: 117
Reputation: 74046
You can use document.querySelectorAll()
for that.
If you really want all (including nested tags), use this
var elements = document.querySelectorAll( 'body *' );
If you only want the immediate child nodes, use
var elements = document.querySelectorAll( 'body > *' );
Upvotes: 42