2015-03-02 185 views
2

有谁知道我如何获取页面中存在的所有HTML标签? 我只需要得到没有它们的ID或其他属性的标签,并创建它们的一种树形结构。 喜欢用Javascript或JQuery来做到这一点。使用Javascript获取所有html标签

例如,该HTML代码:

<html> 
    <head> 
    <title> 
     Example Page 
    </title> 
    </head> 
    < body> 
    <h1 style="somestyle"> 
     Blabla 
    </h1> 
    <div id="id"> 
    <table id="formid"> 
     <tr> 
     <td> 
     </td> 
     </tr> 
     </table> 
    </div> 
    </body> 
</html> 

应该返回回报:

HTML

标题

H1
DIV

TR
TD

+1

你试过了什么? – 2015-03-02 15:45:38

+0

'document.querySelectorAll('*')'。或者用'.children'递归遍历DOM(document.body)。 – A1rPun 2015-03-02 15:46:36

+2

这是什么用例?这不是微不足道的复制DOM – charlietfl 2015-03-02 15:53:56

回答

6

您可以通过一个*getElementsByTagName()这样它会返回所有元素在一个页面:

var all = document.getElementsByTagName("*"); 

for (var i=0, max=all.length; i < max; i++) { 
    // Do something with the element here 
} 
0

它是一种非常简单的一段JavaScript代码

document.querySelectorAll('*') 

在控制台日志中试试看,它会把你所有的标签都放在文档里。

又如getElementsByTagName

这些并打印到一个数组,所以在不同的元素,你就可以遍历元素和做不同的事情。

实施例:

var items = document.getElementsByTagName("*"); 
for (var i = 0; i < items.length; i++) { 
    //do stuff 
} 
+0

而且,为了添加更多信息,每个HTML元素都会有一个“tagName”属性,它提供了您要查找的基本名称。它是默认的大写字母 – Katana314 2015-03-02 16:32:31

0

我与getElementsByTagName.tagName这样做是为了在返回的数组中的每个值。

相关问题