繁体   English   中英

角遍历祖先

[英]traverse ancestors in angular

我试图确定给定的Angular元素是否是目标Angular元素的祖先:

function isAncestor(element, target) {
    for (var parent = target.parent();
         parent && parent !== element;
         parent = parent.parent()) {
        console.log(parent);
    }
    return parent;
}

这进入了无限循环。 显然,如此代码所假设的那样, parent永远不会为null 并且相等比较是不正确的,因为它检查对象引用。

如何在Angular中做到这一点?

这是我的解决方案:

function isAncestor(element, target) {
    var parent = target;

    while (parent.length > 0) {
        if (parent[0] === element[0]) {
            return parent;
        }
        parent = parent.parent();
    }
    return null;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM