[英]Uncaught TypeError: Cannot set property 'src' of undefined
I know this was asked before but none of the answers given fixed my problem. 我知道之前曾问过这个问题,但是给出的答案都没有解决我的问题。 Obviously a lot of people are getting the same errors with Chrome and Safari so I think an answer with an explanation would be benafitial if at all possable. 显然,很多人在使用Chrome和Safari时遇到同样的错误,因此,我认为,如果有可能,给出解释性的答案将是有益的。 My JavaScript teacher never taught only led us down the wrong path and said to forget that so I don't understand the code I have but I have to get it working in all browsers. 我的JavaScript老师从来没有教过,只会导致我们走错了路,并说忘记了这一点,所以我不理解所拥有的代码,但必须使它在所有浏览器中都能正常工作。
Here is my code: 这是我的代码:
<div class="gallery" align="center">
<h3>Simple and Effective Photo Gallery with HTML and JavaScript</h3><br/>
<div class="thumbnails">
<img onmouseover="preview.src=img1.src" id="img1" src="img1.jpg" alt="Image Not Loaded"/>
<img onmouseover="preview.src=img2.src" id="img2" src="img2.jpg" alt="Image Not Loaded"/>
<img onmouseover="preview.src=img3.src" id="img3" src="img3.jpg" alt="Image Not Loaded"/>
<img onmouseover="preview.src=img4.src" id="img4" src="img4.jpg" alt="Image Not Loaded"/>
<img onmouseover="preview.src=img5.src" id="img5" src="img5.jpg" alt="Image Not Loaded"/>
<img onmouseover="preview.src=img6.src" id="img6" src="img6.jpg" alt="Image Not Loaded"/>
</div><br/>
<div class="preview" align="center">
<img id="preview" src="img1.jpg" alt="No Image Loaded"/>
</div>
</div>
Please HELP!! 请帮忙!!
document.getElementById("preview").src = "img1.jpg";
You can't just use an element's name in Javascript. 您不能只在Javascript中使用元素的名称。 You must get the DOM object corresponding to that element: 您必须获取与该元素对应的DOM对象:
onmouseover="document.getElementById('preview').src=this.src"
You can't change the src like that. 您不能像这样更改src。 Instead use: 而是使用:
document.getElementById('preview').src=....
Here is the simplest form of it :) 这是它的最简单形式:)
<script>
var prev;
function setPrev(img) {
prev = prev || document.getElementById('preview');
prev.src = img.src;
return false;
}
</script>
<div class="gallery" align="center">
<h3>Simple and Effective Photo Gallery with HTML and JavaScript</h3><br/>
<div class="thumbnails">
<img onmouseover="setPrev(this)" id="img1" src="img1.jpg" alt="Image Not Loaded"/>
<img onmouseover="setPrev(this)" id="img2" src="img2.jpg" alt="Image Not Loaded"/>
<img onmouseover="setPrev(this)" id="img3" src="img3.jpg" alt="Image Not Loaded"/>
<img onmouseover="setPrev(this)" id="img4" src="img4.jpg" alt="Image Not Loaded"/>
<img onmouseover="setPrev(this)" id="img5" src="img5.jpg" alt="Image Not Loaded"/>
<img onmouseover="setPrev(this)" id="img6" src="img6.jpg" alt="Image Not Loaded"/>
</div>
<br/>
<div class="preview" align="center">
<img id="preview" src="img1.jpg" alt="No Image Loaded"/>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.