Element.ancestors - Prototype JavaScript 框架

Xunxin Prototype API

ancestors

ancestors(element) -> [HTMLElement...]

返回 element 的所有先代节点(父节点、父节点的父节点...一直到最顶层节点),结果为一个数组,数组元素已经过 扩展

返回数组的第一个元素是 element 的直接先代节点(即 parentNode),第二个元素是它的祖父节点, 依此类推,直到 html 元素。html 总是数组的最后一个成员,除非你显式查找它的先代节点。 但是你不愿意这么做,不是吗?

注意:所有 Prototype 的 DOM 扩展方法均忽略文本节点,仅返回元素节点。

样例

<html>
	[…]
	<body>
		<div id="father">
			<div id="kid"> </div>
		</div>
	</body>
</html> 
$('kid').ancestors();
// -> [div#father, body, html]
// 记住 "body" 和 "html" 元素也包括在返回数组中
document.getElementsByTagName('html')[0].ancestors();
// -> []