我正在寻找主题中描述的功能。当用户将鼠标悬停在图像(id =“sie”)上时,表格单元格(id =“sein_img”)的背景应该改变。我尝试使用此代码,但我不知道为什么它不起作用。非常感谢帮助!
<script type="text/javascript">
document.getElementById("sein_img").onmouseover = function() {
document.getElementById("sie").style.backgroundColor = "red";
}
</script>
<td id="sie" style="background-color: #f3f5f7;"> sie</td>
<img id="sein_img" src="images/stories/bullet_white.png" />
答案 0 :(得分:1)
您的脚本运行正常,但只有在受影响的HTML标记初始化后执行<script>
(在您的情况下为<div>
且标识为sein_img
)。该元素尚不可用,因此鼠标悬停监听器未设置为元素(document.getElementById()
获得的元素为undefined
。
因此,要解决您的问题,您可以选择以下两个选项:
<script>
标记移至页面底部,或至少在您要设置收听者的最后一个元素之后移动。$(document).ready(function() { ... });
)答案 1 :(得分:0)
在渲染html后移动脚本执行。我认为它也只适用于有效的html表。
<table><tr><td id="sie" style="background-color: #f3f5f7;"> sie</td></tr></table>
<script type="text/javascript">
document.getElementById("sein_img").onmouseover = function() {
document.getElementById("sie").style.backgroundColor = "red";
}
</script>
答案 2 :(得分:0)
您需要在html代码后面写这个<script />
。您可以查看this plunker。
答案 3 :(得分:0)
问题是:
<table>
<td id="sie" style="background-color: #f3f5f7;"> sie</td>
</table>
<img id="sein_img" src="images/stories/bullet_white.png" />
<script type="text/javascript">
document.getElementById("sein_img").onmouseover = function() {
document.getElementById("sie").style.backgroundColor = "red";
}
</script>
如果您只是将标记放在正文的底部,则代码将无效。
<td id="sie" style="background-color: #f3f5f7;"> sie</td>
<img id="sein_img" src="images/stories/bullet_white.png" />
<script type="text/javascript">
document.getElementById("sein_img").onmouseover = function() {
document.getElementById("sie").style.backgroundColor = "red";
}
</script>