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();
// -> []