2011-11-30 172 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怎么样? –

相关问题