To get total DOM elements including children use the following code (this includes root html element also)
$('*').length
To get all DOM elements in body (excludes body itself)
$('body *').length
Here is sample code:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<div id="count1">-</div>
<div id="count2">-</div>
<script type="text/javascript">
var str1= $('*').length;
var str2= $('body *').length;
str1 += " => ";
str2 += " => ";
$('*').each(function(){
str1 = str1 + this + " | ";
});
$('body *').each(function(){
str2 = str2 + this + " | " ;
});
$('#count1').text(str1);
$('#count2').text(str2);
</script>
</body>
</html>