我需要一个javascript函数或一个CSS Selector(甚至一个 ProtoypeJS 函数),它可以获取特定元素下的所有元素(即后代)。
我理解有CSS选择器,例如:'p,a,div',这将获得这三种类型的所有元素。但是,我需要在没有指定类型的情况下获得所有内容。
即。我想要像
这样的东西myElement.getElements('*')
答案 0 :(得分:5)
答案 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
答案 3 :(得分:0)
单独使用CSS就可以轻松完成。 *
(通用)选择器定位所有元素。如果您想定位特定element
的所有子项,那么您只需执行此操作:
element * {}