我需要一个JavaScript函数或CSS选择器(甚至是ProtoypeJS函数),可以获取特定元素下的所有元素(即后代元素)。
我知道有一些CSS选择器,例如:'p,a,div',它们可以获取这三种类型的所有元素。但是我需要获取所有类型的元素,而不需要指定类型。
也就是说,我想要像这样的东西:
myElement.getElements('*')
我需要一个JavaScript函数或CSS选择器(甚至是ProtoypeJS函数),可以获取特定元素下的所有元素(即后代元素)。
我知道有一些CSS选择器,例如:'p,a,div',它们可以获取这三种类型的所有元素。但是我需要获取所有类型的元素,而不需要指定类型。
也就是说,我想要像这样的东西:
myElement.getElements('*')
兼容所有版本的IE,而不仅仅是IE8+...
myElement.getElementsByTagName("*")
*
是一个特殊情况,用于 getElementsByTagName
返回所有后代元素,而不管标签名称。(这与 querySelectorAll
不同,其中 *
是一个真正的选择器,匹配所有元素)
获取所有子元素的扩展PrototypeJS数组的方法是childElements()
http://api.prototypejs.org/dom/Element/prototype/childElements/
element.childElements()
如果你想缩小返回的子元素范围,可以使用select()
element.select('div')
element
的所有 div 子元素。保留 HTML 标记。仅使用CSS就足够简单了。 *
(通用)选择器可以针对所有元素进行操作。 如果您想针对特定元素
的所有子元素进行操作,则可以轻松执行此操作:
element * {}
getElementsByTagName("*")
不是更兼容旧版浏览器吗? - Niet the Dark Absol