查找最近的锚点
如果有的话,查找最接近给定 node 的锚点节点。
- 使用
for循环和Node.parentNode从给定的node向上遍历节点树。 - 使用
Node.nodeName和String.prototype.toLowerCase()来检查任何给定的节点是否是锚点 ('a')。 - 如果找不到匹配的节点,则返回
null。
const findClosestAnchor = node => {
for (let n = node; n.parentNode; n = n.parentNode)
if (n.nodeName.toLowerCase() === 'a') return n;
return null;
};
findClosestAnchor(document.querySelector('a > span')); // a