2015-03-02 231 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這樣做是爲了在返回的數組中的每個值。

相關問題