2011-11-30 238 views
1

我想從網頁中獲取所有元素。我使用表單ID或名稱來獲取所有元素,但是如果沒有表單ID或名稱,我無法從該頁面獲取元素。什麼是此問題的替代方法。請幫忙。如何獲取html標籤之間的所有元素?

+0

你到底在找什麼?如果你有「文件」,你肯定有所有的元素? –

+1

'$(「*」)':-D __________ –

+0

@AdamRackis但是,假設使用jQuery。 Manohar可能不會使用它。雖然,這是最好的方式:) – Arindam

回答

2

您可以使用jQuery:$("html *")將返回的HTML標記

的名稱之間的所有元素,你必須使用$("html *").attr('name')
的值$("html *").val()$("html *").attr('value')

+0

有些人生氣的答案,但對不起,我會說這是正確的答案,所以+1 –

+0

感謝亞當:)) –

+1

我沒有看到一個'jquery'標籤在OP的問題... – KooiInc

0

聽說過一種叫jQuery的?在遍歷API的幫助下,您可以訪問所需的元素。下面是API的完整列表 - http://api.jquery.com/

0

您可以使用jQuery選擇這樣的:$(「*」)。這種特定選擇將返回HTML頁面的所有元素(標籤)。

5

您可以使用document.getElementsByTagName('*')檢索html文檔中所有節點的數組。之後,你可以通過該數組遍歷:

var allElements = document.getElementsByTagName('*'); 
for (var i=0;i<allElements.length;i++){ 
    //do things with the element, e.g. 
    //console.log(allElements[i].type) 
    //console.log(allElements[i].id) 
    //console.log(allElements[i].innerHTML) 
} 

更新2014:更現代的方法是

var allEls = [].slice.call(document.querySelectorAll('*'); 
allEls.forEach(function (el) { 
     //do things with the element, e.g. 
     //console.log(el.type) 
     //console.log(el.id) 
     //console.log(el.innerHTML) 
}); 
+0

+1這就是如何做*沒有* jQuery!儘管它並不完全正確 - 它包含了html標籤本身。應該是「var all = document.getElementsByTagName('html')[0] .getElementsByTagName('*')」 – Codesmith

-1

也許你可以試試這個:document.childNodes

沒有框架,需要的庫。

+2

這隻會給你第一級節點。 divs裏面的div裏面的div怎麼樣? –

相關問題