Javascript 横穿祖先
我试图确定给定的角度元素是否是目标角度元素的祖先:Javascript 横穿祖先,javascript,angularjs,Javascript,Angularjs,我试图确定给定的角度元素是否是目标角度元素的祖先: function isAncestor(element, target) { for (var parent = target.parent(); parent && parent !== element; parent = parent.parent()) { console.log(parent); } return parent; } 这将进入一
function isAncestor(element, target) {
for (var parent = target.parent();
parent && parent !== element;
parent = parent.parent()) {
console.log(parent);
}
return parent;
}
这将进入一个无限循环。显然,parent
从来不像此代码假定的那样是null
。相等比较是不正确的,因为它检查对象引用
如何在角度上做到这一点?以下是我的解决方案:
function isAncestor(element, target) {
var parent = target;
while (parent.length > 0) {
if (parent[0] === element[0]) {
return parent;
}
parent = parent.parent();
}
return null;
}