Uncaught TypeError: Cannot set properties of undefined (setting 'onmouseover')
时间: 2024-10-25 22:05:21 浏览: 89
ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法
5星 · 资源好评率100%
看起来你在JavaScript中遇到了关于给`undefined`对象设置`onmouseover`属性时的错误。这个错误通常发生在尝试访问或操作还未初始化或者不存在的对象上的事件处理程序。在你的例子中,可能是元素没有正确地加载到DOM中,或者`.tab_list`和`li`元素中的某个在for循环之前还没有实例化。
解决这个问题的方法是在绑定事件处理函数之前,先确认元素是否存在。你可以稍微修改一下你的代码:
```javascript
<script>
var tab_list = document.querySelector(".tab_list");
if (tab_list) {
var tab_listItems = tab_list.querySelectorAll("li");
var tab_con = document.querySelectorAll(".tab_con");
for (var i = 0; i < tab_listItems.length; i++) {
if (tab_listItems[i]) { // 检查每个li元素是否存在
tab_listItems[i].addEventListener('mouseover', function () {
console.log("栏目" + i + "被鼠标悬停了");
});
}
}
}
</script>
```
这段代码首先确保`.tab_list`存在,然后在遍历其子项之前进一步检查每个`li`元素是否已定义。这样可以避免因试图设置未定义对象的事件而导致的TypeError。
阅读全文