我正在寻找该主题中描述的功能。当用户将鼠标悬停在图像 (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" />
最佳答案
您的脚本工作得很好,但前提是您执行 <script>
在初始化受影响的 HTML 标签后(在您的情况下, <div>
的 id 为 sein_img
)。该元素尚不可用,因此未将鼠标悬停监听器设置为该元素(使用 document.getElementById()
获得的元素是 undefined
。
因此,要解决您的问题,您可以在这两个选项之间进行选择:
- 移动您的
<script>
标记到页面底部或至少位于要设置监听器的最后一个元素之后。 - 等待文档准备好,然后再为元素设置监听器。您可以例如使用 jQuery 来做到这一点 (
$(document).ready(function() { ... });
)
关于javascript - 将鼠标悬停在图像上时更改 <td> 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38143330/