可以在所有浏览器中内联JavaScript获取其父节点

can inline JavaScript get its parent node in all browsers?

本文关键字:JavaScript 获取 父节点 浏览器      更新时间:2023-09-26

我的问题很简单。 代码如下:

<div id="parent">
  <script>
    // will this line be an error ? cannot find the dom?
    var dom = document.getElementById("parent");
  </script>
</div>

我在我能找到的所有浏览器中测试了它,甚至是 IE6,它运行良好!但我想知道是否有任何浏览器会出错?因为把代码放到网络上后,有些数据告诉我可能会导致错误?但是如何呢?你能帮我吗?


@2017.09.13好像是误会,代码还可以

脚本应始终能够找到其容器元素,因为在脚本运行之前,该元素已包含在页面上。 但是:

  • 在完全加载 DOM 之前对其进行修改可能会导致旧版浏览器中出现问题:https://stackoverflow.com/a/403992/5742681

  • 在脚本之后,通过div 中定义的变量访问父元素中包含的任何子元素时可能会出现问题。

总的来说,最好把你的script放在div之外。