说我有一个名为testThing的类:

.testThing
{
   background-color:#000000;
   float:left;
   height:50px;
   width:50px;
}

我希望能够通过单击按钮来测试背景色更改为该类的任何控件:
function setColor(someColor)
{
   jQuery('.testThing').css('background-color', someColor);
}

但是我希望用户能够根据类的内容将其重置为原始颜色(单击另一个按钮):
function resetClass()
{
   jQuery('#currentColor').removeClass('testThing');
   jQuery('#currentColor').addClass('testThing');
}

看起来像这样可行(虽然这不是最好的方法),但是控件的背景色不会重置为该类中保留的原始值。

现在我需要弄清楚为什么添加的remove不会重置它,或者只是一种简单的更好的方式...看到删除并读取该类似乎很愚蠢...

最佳答案

jQuery将CSS添加到style属性中,该属性比CSS文件中的优先级更高。您不会使用该功能更改CSS文档,因此添加和删除以及添加类均无效,因为它根本没有被修改!

您应该使用相同的功能,但是这次将背景色设置为黑色。

function reset(this)
{
  $(this).css('background-color', '#000000');
}

或者只是删除样式属性
function reset(this)
{
  $(this).removeAttr('style');
}

关于jquery - jQuery:临时更改样式,然后重置为原始类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1053418/

10-12 13:06