获取包含Javascript片段的DOM元素

获取包含Javascript片段的DOM元素,javascript,Javascript,有没有办法获取对Javascript函数容器的引用 举个例子: <div> <script> var thisDiv = ??? doSomething(thisDiv); </script> </div> var thisDiv=??? 剂量测定法(thisDiv); this关键字似乎仅指由直接事件(如onClick())触发的包含元素。否则此引用包含的窗口元素。是否有任何等效的方法来获取片段的父元素或包含元素?没有完

有没有办法获取对Javascript函数容器的引用

举个例子:

<div>
  <script>
   var thisDiv = ???
   doSomething(thisDiv);
  </script>
</div>

var thisDiv=???
剂量测定法(thisDiv);
this
关键字似乎仅指由直接事件(如
onClick()
)触发的包含元素。否则
引用包含的
窗口
元素。是否有任何等效的方法来获取
片段的父元素或包含元素?

没有完全可靠的方法。最接近的方法是找到DOM中的最后一个脚本元素(使用
document.getElementsByTagName
),然后从那里导航(
parentNode
等)


如果动态插入或使用脚本元素
defer
async

相关:。仅供参考,元素不会创建范围。只有全局作用域和函数作用域。脚本元素不创建作用域。@FelixKling:谢谢。我只是用了“scope”,因为没有更好的词。我将更改标题以消除任何歧义。如果可能,您最好使用
id
ing包含脚本的divs,如果我将您的解决方案的
parentNode
与@FelixKling建议的链接中的解决方案相结合,类似于:
var thisDiv=document.currentScript.parentNode。这样行吗?