使用jQuery的mouseover()访问href和src链接报错ERR_FILE_NOT_FOUND如何解决?
问题排查
- 语法错误:现有jQuery代码存在多余的闭合符
});,会先触发语法异常,代码无法正常执行。 - 参数错误:
location.assign()方法要求传入字符串格式的目标URL,你直接传入了$("a")jQuery对象,浏览器会将对象转为[object Object]字符串作为请求地址,自然会报文件不存在错误。 - 元素匹配错误:使用
$("a")会选中页面内所有a标签,无法匹配当前触发mouseover事件的对应链接,需要用$(this)获取当前触发事件的元素。 - HTML语法问题:你提供的HTML中第一个a标签缺少
</a>闭合标签,可能导致DOM解析异常。
修正方案
两种实现方式任选其一即可:
方式1:直接读取href属性跳转
$("a").mouseover(function() { location.assign($(this).attr("href")); });
方式2:触发原生点击事件(和手动点击效果完全一致)
$("a").mouseover(function() { // 调用原生DOM的click方法,完全模拟用户点击行为 this.click(); });
内容的提问来源于stack exchange,提问作者Manuel Roads
相关产品推荐
相关产品推荐

