You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否从被调用函数的所在位置获取父元素?

如何从被调用函数中获取所在位置的父元素

当然可以做到!你可以借助浏览器提供的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:55:29