6

我有一个带有链接和 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 开始)。

4

1 回答 1

9

.id如果您已经拥有该元素,则不需要。直接交给jQuery:

jQuery(elementToUpdate).animate({ backgroundColor: '#ffffff' }, 1000);

您不会收到错误,因为elementToUpdate.id它是一个字符串,jQuery(可能)将其解释为选择器。它恰好是一个不选择任何东西的选择器。

或者,您可以这样说使其成为有效的选择器:

jQuery('#' + elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);

但我认为第一种形式更可取,因为您已经拥有元素本身。

于 2009-01-08T17:20:42.677 回答