<!DOCTYPE html> <html id="html"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--注释节点--> <!--注释节点--> <ul> <li id="test">test1</li> <li>test3</li> <li>test4</li> </ul> <script type="text/javascript"> var all=document.getElementsByTagName("*"); var len=all.length; for (var i=0;i<len;i++) { console.log(all[i]); } </script> </body> </html>
chrome输出返回

ff输出返回

在ie9+的输出结果为
[object HTMLHtmlElement] [object HTMLHeadElement] [object HTMLMetaElement] [object HTMLTitleElement] [object HTMLBodyElement] [object HTMLUListElement] [object HTMLLIElement] [object HTMLLIElement] [object HTMLLIElement] [object HTMLScriptElement]
在ie8,输出为,返回了注释节点
[object HTMLCommentElement] [object HTMLHtmlElement] [object HTMLHeadElement] [object HTMLTitleElement] [object HTMLMetaElement] [object HTMLBodyElement] [object HTMLCommentElement] //Comment为注释节点 [object HTMLCommentElement] //Comment为注释节点 [object HTMLUListElement] [object HTMLLIElement] [object HTMLLIElement] [object HTMLLIElement] [object HTMLScriptElement]
在ie7中输出为,返回了注释节点
[object] [object] [object] [object] [object] [object] [object] [object] [object] [object] [object] [object] [object]
从上看出在ie9以下,ie将注释也实现为节点,在ff和chrome中则返回具体的html结构