gpt4 book ai didi

jQuery 错误 : Uncaught TypeError: Cannot use 'in' operator to search for 'backgroundColor' in undefined

转载 作者:行者123 更新时间:2023-12-01 00:10:32 25 4
gpt4 key购买 nike

$('.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 就绪时执行)返回此错误

Uncaught TypeError: Cannot use 'in' operator to search for 'backgroundColor' in undefined

这是为什么呢?我做错了什么?

<小时/>

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

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

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

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

}, function () {

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

});

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

最佳答案

您也许可以使用 jQuery 的“each”函数:

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

“each”应该为每个匹配节点运行此命令;您的原始版本可能没有正确的“this”值。

关于jQuery 错误 : Uncaught TypeError: Cannot use 'in' operator to search for 'backgroundColor' in undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17469306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com