如何使用Javascript获取所有孩子(即孩子的孩子)?

时间:2014-02-25 09:15:19

标签: javascript html css css-selectors prototypejs

我需要一个javascript函数或一个CSS Selector(甚至一个 ProtoypeJS 函数),它可以获取特定元素下的所有元素(即后代)。

我理解有CSS选择器,例如:'p,a,div',这将获得这三种类型的所有元素。但是,我需要在没有指定类型的情况下获得所有内容。

即。我想要像

这样的东西
myElement.getElements('*')

4 个答案:

答案 0 :(得分:5)

您可以使用querySelectorAll

myElement.querySelectorAll('*')

注意:Supported in IE8+

答案 1 :(得分:4)

兼容IE的所有版本,而不仅仅是IE8 + ...

myElement.getElementsByTagName("*")

*被视为getElementsByTagName的特殊情况,无论标记名称如何,都会返回所有后代。 (这与querySelectorAll不同,其中*是匹配所有元素的真正选择器)

答案 2 :(得分:1)

将所有子元素作为扩展PrototypeJS数组的方法是childElements() http://api.prototypejs.org/dom/Element/prototype/childElements/

element.childElements()

对于其他情况,您可能希望缩小返回的子元素,您可以使用select()

element.select('div')

将返回element

的所有div子项

答案 3 :(得分:0)

单独使用CSS就可以轻松完成。 *(通用)选择器定位所有元素。如果您想定位特定element的所有子项,那么您只需执行此操作:

element * {}