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

时间:2016-03-02 10:09:17

标签: javascript dom

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

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

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

@ 2017.09.13这似乎是一种误解,代码还可以

1 个答案:

答案 0 :(得分:1)

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

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

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

总的来说,将script放在div之外可能会更好。