【发布时间】:2011-12-01 06:55:18
【问题描述】:
我有一个 ASP.NET GridView。根据显示字段之一的值,每一行都有不同的颜色。有两个可能的值,因此可以有两种不同的颜色。
现在我想突出显示鼠标悬停的 GridView 上的行。下面的脚本可以完美运行,但是一旦我将鼠标悬停,任何行的颜色都会变为白色。
我想知道是否有一种方法可以在鼠标悬停时以某种方式存储行的“原始”颜色,并在鼠标悬停时将其放回原处。
$(document).ready(function() {
$("#<%=gdUpdateProduct.ClientID%> tr:has(td)").hover(function() {
$(this).css("background-color", "Lightgrey");
}, function() {
$(this).css("background-color", "#ffffff");
});
});
我尝试了这个对我来说似乎很合乎逻辑的解决方案,但它不起作用,因为脚本在完成执行后不会存储颜色的值:
$(document).ready(function() {
$("#<%=gdUpdateProduct.ClientID%> tr:has(td)").hover(function() {
var color = $(this).css("background-color");
$(this).css("background-color", "Lightgrey");
}, function() {
$(this).css("background-color", "#ffffff");
});
});
有人可以提供解决方案吗?谢谢
【问题讨论】:
-
顺便说一句,您的解决方案的问题是
color变量只存在于在定义它的函数中(hoverIn)。hoverOut函数将永远无法访问它。
标签: jquery hover background-color