我的问题很简单。代码如下:
<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这似乎是一种误解,代码还可以
答案 0 :(得分:1)
您的脚本应始终能够找到其容器元素,因为该元素在脚本运行之前包含在页面中。但是:
在完全加载之前修改DOM可能会导致旧浏览器出现问题: https://stackoverflow.com/a/403992/5742681
在脚本之后通过div中定义的变量访问父级中包含的任何子元素时可能会出现问题。
总的来说,将script
放在div
之外可能会更好。