javascript - 将鼠标悬停在图像上时更改 <td> 背景颜色

标签 javascript html

我正在寻找该主题中描述的功能。当用户将鼠标悬停在图像 (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;">&nbsp;sie</td>

 <img id="sein_img" src="images/stories/bullet_white.png" />

最佳答案

您的脚本工作得很好,但前提是您执行 <script>在初始化受影响的 HTML 标签后(在您的情况下, <div> 的 id 为 sein_img )。该元素尚不可用,因此未将鼠标悬停监听器设置为该元素(使用 document.getElementById() 获得的元素是 undefined

因此,要解决您的问题,您可以在这两个选项之间进行选择:

  1. 移动您的 <script>标记到页面底部或至少位于要设置监听器的最后一个元素之后。
  2. 等待文档准备好,然后再为元素设置监听器。您可以例如使用 jQuery 来做到这一点 ( $(document).ready(function() { ... }); )

关于javascript - 将鼠标悬停在图像上时更改 <td> 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38143330/

相关文章:

javascript - React Context API,从子组件设置上下文状态而不是将函数作为 Prop 传递

javascript - 使用 php 运行在提交 from 后编辑 css 的 JavaScript?

javascript - 为什么 foreach 没有按预期工作?

javascript - 如何在 webkit 浏览器(如 chrome、safari、opera)中删除 c fakepath?

javascript - 使用 Symfony 表单嵌入集合上传、编辑、删除多个文件

javascript - Html2canvas for each div export to pdf separately

javascript - PHP 执行时 <a> 链接到其他页面

javascript - 对话框最大化,最小化,调整大小,响应jquery ui js和扩展对话框js

javascript - 鼠标悬停时出现迷你屏幕弹出窗口

javascript - 在 Vue 中将 v-for 与嵌套对象一起使用