在不知道结构的情况下获取父级/祖父级,可以使用递归方法来实现。下面是一个示例代码,用于在HTML中获取父级/祖父级元素:
function getParent(element, level) {
if (level === 0) {
return element;
}
if (element.parentElement) {
return getParent(element.parentElement, level - 1);
}
return null;
}
const targetElement = document.getElementById("target");
// 获取父级
const parentElement = getParent(targetElement, 1);
console.log(parentElement);
// 获取祖父级
const grandparentElement = getParent(targetElement, 2);
console.log(grandparentElement);
在上面的示例代码中,getParent
函数使用了递归方法来获取指定元素的父级/祖父级。该函数接受两个参数:element
表示要获取父级/祖父级的元素,level
表示要获取的级别,父级为1,祖父级为2,以此类推。
在函数内部,首先检查level
是否为0,如果是,则返回当前元素。接下来,使用element.parentElement
获取当前元素的父级元素,然后调用getParent
函数递归地获取更高一级的父级元素,直到达到指定的级别。如果元素没有父级元素,则返回null
。
使用示例中的targetElement
作为目标元素,可以通过传递不同的level
值来获取父级或祖父级元素。