jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery错误:未捕获TypeError:无法使用’in’运算符在undefined中搜索’backgroundColor’大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$('.metro_menu_button').data('oldColor',$(this).css('BACkground-color'));

$('.metro_menu_button').hover(function () {
    $(this).stop().animate({
        BACkgroundColor: '#303030'
    },300);

},function () {

    $(this).stop().animate({
        BACkgroundColor: $(this).data('oldColor')
    },300);

});

至于标题,上面的jQuery代码(在DOM就绪时执行)返回此错误

为什么是这样?我究竟做错了什么?

我正在尝试做一个按钮,它在悬停时会改变颜色,当鼠标离开时,会恢复原来的颜色.我无法对这些值进行硬编码:我需要灵活处理,并且要记住旧的背景颜色.下面的代码工作正常但是,如果我将鼠标移入和移出太快,它将“忘记”原始颜色.

$('.metro_menu_button').hover(function () {

    $(this).data('oldColor',$(this).css('BACkground-color'));

    $(this).stop().animate({
        BACkgroundColor: '#303030'
    },300);

});

我需要在DOMReady上保存oldColor,而不是每次鼠标都进入.换句话说,我需要使用第一个代码,但这会引发错误.我能做什么?

解决方法

您可以使用jQuery的’each’功能

$('.metro_menu_button').each(function() {
    $(this).data('oldColor',$(this).css('BACkground-color'));
});

‘each’应该为每个匹配节点运行它;您的原件可能没有’this’的正确值.

大佬总结

以上是大佬教程为你收集整理的jQuery错误:未捕获TypeError:无法使用’in’运算符在undefined中搜索’backgroundColor’全部内容,希望文章能够帮你解决jQuery错误:未捕获TypeError:无法使用’in’运算符在undefined中搜索’backgroundColor’所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。