Hi, how to display child nodes except the first and last?

document.body.firstElementChild; 
 </html><!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div> <p>Text</p> <p>Other</p> <p>Next</p> <p>Last</p> </div> <div></div> <div></div> <script src="main.js"></script> </body> </html> 

  • You have an </html> tag at the beginning - torokhkun

2 answers 2

 if (document.body.children) { const children = document.body.children; for (var i = 1; i < children.length - 1; ++i) { console.log(children[i]) } } 

    An alternative is to use the .nextElementSibling property .nextElementSibling

     const el = document.body.firstElementChild; while((el = el.nextElementSibling) && el.nextElementSibling){ console.log(el); }