我有一个html元素:
<img alt="" src="../Images/ERROR.jpg" id="live1x4" height="288" style="width: 360px;
display: block;" /
如果我在javascript中引用此控件,该控件位于同一个html页面中:
live1x4.src = src;
其中src是脚本工作的图像位置。
如果将javascript移动到外部js文件我得到'live1x4'是未定义的。
仅在Internet Explorer中发生。
Wjat可能导致此错误?
答案 0 :(得分:1)
您必须定位元素,而不是简单地引用ID:
document.getElementById("live1x4").src = ....
答案 1 :(得分:0)
原因是JavaScript代码在解析img
元素之前执行。这是否发生取决于许多事情。有不同的方法可以确保它不会发生。一种简单的方法是将代码包装在加载文档后触发的偶数处理程序中:
window.onload = function() {
// your code here, here all elements are available, e.g.:
live1x4.src = src;
}
通常认为使用id
属性值的错误编码样式就像它们是全局变量一样(部分原因是它们在添加了同义全局变量时停止工作),因此document.getElementById("live1x4")
优于live1x4
1}}。但是,这是一个不同的主题。