能否从被调用函数的所在位置获取父元素?
如何从被调用函数中获取所在位置的父元素
当然可以做到!你可以借助浏览器提供的document.currentScript属性定位到当前执行的<script>标签,然后就能轻松拿到它的父元素了。
具体实现方案
function getParent() { // 获取当前正在执行的script元素 const currentScript = document.currentScript; // 获取该script的直接父元素 const parentElement = currentScript.parentElement; // 示例:打印父元素的类名,方便验证结果 console.log('当前script的父元素类名:', parentElement.className); return parentElement; }
原理说明
document.currentScript会返回当前正在执行的<script>元素,你的场景里都是内嵌的script标签,这个属性完全适用。拿到script元素后,通过它的parentElement属性就能直接获取到包裹它的父DOM元素。
针对你的场景测试
把上面的函数加入你的页面后:
- 第一个
getParent()会返回类名为lorem的div - 第二个
getParent()会返回类名为ipsum的div - 第三个
getParent()会返回类名为amet的div
如果需要获取更上层的祖先元素(比如最外层的alphabet),可以用closest()方法快速定位:
// 获取最近的拥有alphabet类的祖先元素 const topParent = parentElement.closest('.alphabet');
内容的提问来源于stack exchange,提问作者Abu Ayyub
相关产品推荐
相关产品推荐

