Jquery 在变量中保持当前CSS值不变

Jquery 在变量中保持当前CSS值不变,jquery,css,Jquery,Css,我试图在变量中保留元素的当前CSS值。我的问题是,每当我更改原始元素的样式时,我之前指定的变量中的值也会更改 var-currentColor; $(“tr”).hover(函数(){ currentColor=$(this.css(“背景色”); $(this.css(“背景色”,“F7F7”) }).mouseout(函数(){ $(this.css(“背景色”,currentColor); }); 福 福 福 使用以下代码: $("tr").mouseenter(function()

我试图在变量中保留元素的当前CSS值。我的问题是,每当我更改原始元素的样式时,我之前指定的变量中的值也会更改

var-currentColor;
$(“tr”).hover(函数(){
currentColor=$(this.css(“背景色”);
$(this.css(“背景色”,“F7F7”)
}).mouseout(函数(){
$(this.css(“背景色”,currentColor);
});

福
福
福
使用以下代码:

$("tr").mouseenter(function() {
  $(this).attr("currentColor", $(this).css("background-color"));
  $(this).css("background-color", "#f7f7f7")
}).mouseout(function() {
  $(this).css("background-color", $(this).attr("currentColor"));
});
我不知道您为什么要使用
$(“div”)
,因为您的HTML中没有
div

第二,使用
mouseenter
而不是
hover

jQuery演示版

$(“tr”).mouseenter(函数(){
$(this.attr(“currentColor”,$(this.css(“背景色”)).css(“背景色”,“F7F7”)
}).mouseout(函数(){
$(this.css(“背景色”),$(this.attr(“当前色”);
});

福
福
福
使用以下代码:

$("tr").mouseenter(function() {
  $(this).attr("currentColor", $(this).css("background-color"));
  $(this).css("background-color", "#f7f7f7")
}).mouseout(function() {
  $(this).css("background-color", $(this).attr("currentColor"));
});
我不知道您为什么要使用
$(“div”)
,因为您的HTML中没有
div

第二,使用
mouseenter
而不是
hover

jQuery演示版

$(“tr”).mouseenter(函数(){
$(this.attr(“currentColor”,$(this.css(“背景色”)).css(“背景色”,“F7F7”)
}).mouseout(函数(){
$(this.css(“背景色”),$(this.attr(“当前色”);
});

福
福
福

您可以使用纯CSS来实现

td:悬停{
背景色:#f7f7f7;
}

福
福
福

您可以使用纯CSS来实现

td:悬停{
背景色:#f7f7f7;
}

福
福
福


出于好奇,您为什么要使用jQuery更改
悬停
上的背景颜色?在CSS中,它只是
tr:hover{background:#f7f7f7;}
@fcalderan,因为一旦你使用
$(“tr”).CSS(“背景色”,“某些颜色”)
,在那之后
tr:hover{background:#f7f7f7;}
不起作用。如果您刚刚开始在前端工作,我建议您学习HTML和CSS。我从您的代码中看到的是,您的行的背景颜色在悬停时会发生变化。如果没有更多,也没有具体的理由使用js,那么CSS就是方法。如果我的评论冒犯了你,我很抱歉。我不是故意侮辱你的。由于您在mouseover事件中硬编码了颜色#f7f7f7,我坚信它可以在CSS中处理。在您的情况下,不需要JQuery或Javascript本身。我也看到许多人推荐相同的解决方案。出于好奇,为什么要使用jQuery更改
悬停
上的背景颜色?在CSS中,它只是
tr:hover{background:#f7f7f7;}
@fcalderan,因为一旦你使用
$(“tr”).CSS(“背景色”,“某些颜色”)
,在那之后
tr:hover{background:#f7f7f7;}
不起作用。如果您刚刚开始在前端工作,我建议您学习HTML和CSS。我从您的代码中看到的是,您的行的背景颜色在悬停时会发生变化。如果没有更多,也没有具体的理由使用js,那么CSS就是方法。如果我的评论冒犯了你,我很抱歉。我不是故意侮辱你的。由于您在mouseover事件中硬编码了颜色#f7f7f7,我坚信它可以在CSS中处理。在您的情况下,不需要JQuery或Javascript本身。我也看到很多人推荐相同的解决方案。我知道,但是一旦你使用jQuery更改背景,例如使用
$(“tr”).css(“背景色”,“一些颜色”)
,之后
tr:hover{background:#f7f7f7;}
就不起作用了。请指定“之后”是什么意思。你是在混合css和javascript吗?请阅读我的更新。我很抱歉,因为我没有早点解释。我认为这是没有必要的。我知道,但一旦你使用jQuery更改背景,例如使用
$(“tr”).css(“背景颜色”,“某些颜色”)
,之后
tr:hover{background:#f7f7f7;}
就不起作用了。请指定“之后”是什么意思。你是在混合css和javascript吗?请阅读我的更新。我很抱歉,因为我没有早点解释。我觉得没必要,太多了appreciated@MasoudKeshavarz没问题乐意帮忙为什么CSS演示?我的问题很清楚,
将当前CSS值保留在变量中,以便以后使用。我从未问过
如何使用CSS实现这一点?
:(我添加它是为了美观,我从来没有说过你必须使用它。其他人可能会想使用它。很多appreciated@MasoudKeshavarz没问题,很乐意帮助演示为什么使用CSS?我的问题很清楚
将当前CSS值保留在变量中以备以后使用
。我从来没有问过
如何使用CSS做到这一点?
:(我添加它是为了美观,我从来没有说过你必须使用它。其他人可能会想使用它。