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

3

我需要一个JavaScript函数或CSS选择器(甚至是ProtoypeJS函数),可以获取特定元素下的所有元素(即后代元素)。

我知道有一些CSS选择器,例如:'p,a,div',它们可以获取这三种类型的所有元素。但是我需要获取所有类型的元素,而不需要指定类型。

也就是说,我想要像这样的东西:

myElement.getElements('*')
4个回答

5

getElementsByTagName("*") 不是更兼容旧版浏览器吗? - Niet the Dark Absol
我想你可以编辑你的,但好吧,^_^ - Niet the Dark Absol

4

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

myElement.getElementsByTagName("*")

* 是一个特殊情况,用于 getElementsByTagName 返回所有后代元素,而不管标签名称。(这与 querySelectorAll 不同,其中 * 是一个真正的选择器,匹配所有元素)


1

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

element.childElements()

如果你想缩小返回的子元素范围,可以使用select()

element.select('div')

将返回元素 element 的所有 div 子元素。保留 HTML 标记。

0

仅使用CSS就足够简单了。 * (通用)选择器可以针对所有元素进行操作。 如果您想针对特定元素的所有子元素进行操作,则可以轻松执行此操作:

element * {}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接