我有一个带有链接和SPAN的DIV。
单击该链接时,它会使用AJAX呈现项目列表。单击某个项目时,SPAN的内容将更改。
我希望通过将DIV的背景颜色设置为绿色,并使用jQuery将其设置为白色来突出显示此更改。
var originalColor = elementToUpdate.parentNode.style.backgroundColor;
elementToUpdate.style.backgroundColor = 'green'; //lastSender.style.color;
jQuery(elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);
SPAN的背景在第2行变为绿色,但第3行没有做任何事情。没有错误,或者改变了什么......
有什么想法吗?
修改:正如Ted Naleid在下面的评论中指出的那样:
另请注意,您必须拥有 安装了彩色动画插件 这个工作 (http://plugins.jquery.com/project/color), 如果你没有安装它,jQuery 不能动画颜色,只能数字 属性(至少从1.3.1开始)。
答案 0 :(得分:9)
如果您已经拥有该元素,则不需要.id
。直接把它交给jQuery:
jQuery(elementToUpdate).animate({ backgroundColor: '#ffffff' }, 1000);
您没有收到错误,因为elementToUpdate.id
是一个字符串,jQuery(可能)将其解释为选择器。它恰好是一个不选择任何东西的选择器。
或者,您可以这样说,使其成为有效的选择器:
jQuery('#' + elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);
但我认为第一种形式更可取,因为你已经拥有了元素。